add InsertData(), UpdateData(), DeleteData() migration methods and improve RewriteValue() abstraction
This commit is contained in:
@ -80,6 +80,15 @@ namespace Oqtane.Database.MySQL
|
||||
return $"`{name}`";
|
||||
}
|
||||
|
||||
public override string RewriteValue(object value)
|
||||
{
|
||||
if (value.GetType().Name == "Boolean")
|
||||
{
|
||||
return (bool)value ? "1" : "0"; // MySQL uses 1/0 for boolean values
|
||||
}
|
||||
return value.ToString();
|
||||
}
|
||||
|
||||
public override DbContextOptionsBuilder UseDatabase(DbContextOptionsBuilder optionsBuilder, string connectionString)
|
||||
{
|
||||
return optionsBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString));
|
||||
|
@ -92,13 +92,13 @@ namespace Oqtane.Database.PostgreSQL
|
||||
return $"\"{name}\"";
|
||||
}
|
||||
|
||||
public override string RewriteValue(string value, string type)
|
||||
public override string RewriteValue(object value)
|
||||
{
|
||||
if (type == "bool")
|
||||
if (value.GetType().Name == "Boolean")
|
||||
{
|
||||
value = (value == "1") ? "true" : "false";
|
||||
return (bool)value ? "true" : "false"; // PostgreSQL uses true/false for boolean values
|
||||
}
|
||||
return value;
|
||||
return value.ToString();
|
||||
}
|
||||
|
||||
public override void UpdateIdentityStoreTableNames(ModelBuilder builder)
|
||||
|
@ -51,6 +51,15 @@ namespace Oqtane.Database.SqlServer
|
||||
return $"[{name}]";
|
||||
}
|
||||
|
||||
public override string RewriteValue(object value)
|
||||
{
|
||||
if (value.GetType().Name == "Boolean")
|
||||
{
|
||||
return (bool)value ? "1" : "0"; // SQL Server uses 1/0 for boolean values
|
||||
}
|
||||
return value.ToString();
|
||||
}
|
||||
|
||||
public override int ExecuteNonQuery(string connectionString, string query)
|
||||
{
|
||||
var conn = new SqlConnection(FormatConnectionString(connectionString));
|
||||
|
@ -89,6 +89,15 @@ namespace Oqtane.Database.Sqlite
|
||||
return $"\"{name}\"";
|
||||
}
|
||||
|
||||
public override string RewriteValue(object value)
|
||||
{
|
||||
if (value.GetType().Name == "Boolean")
|
||||
{
|
||||
return (bool)value ? "1" : "0"; // SQLite uses 1/0 for boolean values
|
||||
}
|
||||
return value.ToString();
|
||||
}
|
||||
|
||||
public override DbContextOptionsBuilder UseDatabase(DbContextOptionsBuilder optionsBuilder, string connectionString)
|
||||
{
|
||||
return optionsBuilder.UseSqlite(connectionString)
|
||||
|
@ -71,9 +71,9 @@ namespace Oqtane.Databases
|
||||
return name;
|
||||
}
|
||||
|
||||
public virtual string RewriteValue(string value, string type)
|
||||
public virtual string RewriteValue(object value)
|
||||
{
|
||||
return value;
|
||||
return value.ToString();
|
||||
}
|
||||
|
||||
public virtual void UpdateIdentityStoreTableNames(ModelBuilder builder)
|
||||
|
@ -30,7 +30,7 @@ namespace Oqtane.Databases.Interfaces
|
||||
|
||||
public string RewriteName(string name);
|
||||
|
||||
public string RewriteValue(string value, string type);
|
||||
public string RewriteValue(object value);
|
||||
|
||||
public void UpdateIdentityStoreTableNames(ModelBuilder builder);
|
||||
|
||||
|
@ -55,9 +55,9 @@ namespace Oqtane.Migrations.EntityBuilders
|
||||
return ActiveDatabase.RewriteName(name);
|
||||
}
|
||||
|
||||
private string RewriteValue(string value, string type)
|
||||
private string RewriteValue(object value)
|
||||
{
|
||||
return ActiveDatabase.RewriteValue(value, type);
|
||||
return ActiveDatabase.RewriteValue(value);
|
||||
}
|
||||
|
||||
// Column Operations
|
||||
@ -466,36 +466,100 @@ namespace Oqtane.Migrations.EntityBuilders
|
||||
|
||||
//Sql Operations
|
||||
|
||||
public void DeleteFromTable(string condition = "")
|
||||
public void InsertData(string[] columns, object[] values, string condition)
|
||||
{
|
||||
var deleteSql = $"DELETE FROM {AddSchema(DelimitName(RewriteName(EntityTableName)))} ";
|
||||
if(!string.IsNullOrEmpty(condition))
|
||||
var sql = $"INSERT INTO {AddSchema(DelimitName(RewriteName(EntityTableName)))} ";
|
||||
if (columns != null && columns.Length > 0)
|
||||
{
|
||||
sql += "(";
|
||||
for (var i = 0; i < columns.Length; i++)
|
||||
{
|
||||
sql += ((i == 0) ? "" : ", ") + $"{DelimitName(RewriteName(columns[i]))}";
|
||||
}
|
||||
sql += ") ";
|
||||
}
|
||||
if (values != null && values.Length > 0)
|
||||
{
|
||||
sql += "VALUES (";
|
||||
for (var i = 0; i < values.Length; i++)
|
||||
{
|
||||
sql += ((i == 0) ? "" : ", ") + $"{RewriteValue(values[i])}";
|
||||
}
|
||||
sql += ") ";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(condition))
|
||||
{
|
||||
// note that condition values must be created using RewriteName(), DelimitName(), RewriteValue() if targeting multiple database platforms
|
||||
deleteSql += $"WHERE {condition}";
|
||||
sql += $"{condition}";
|
||||
}
|
||||
_migrationBuilder.Sql(deleteSql);
|
||||
_migrationBuilder.Sql(sql);
|
||||
}
|
||||
|
||||
public void UpdateData(string column, object value)
|
||||
{
|
||||
UpdateData([column], [value], "");
|
||||
}
|
||||
|
||||
public void UpdateData(string column, object value, string condition)
|
||||
{
|
||||
UpdateData([column], [value], condition);
|
||||
}
|
||||
|
||||
public void UpdateData(string[] columns, object[] values, string condition)
|
||||
{
|
||||
var sql = $"UPDATE {AddSchema(DelimitName(RewriteName(EntityTableName)))} ";
|
||||
if (columns != null && values != null && columns.Length > 0 && values.Length > 0 && columns.Length == values.Length)
|
||||
{
|
||||
sql += "SET ";
|
||||
for (var i = 0; i < columns.Length; i++)
|
||||
{
|
||||
sql += ((i == 0) ? "" : ", ") + $"{DelimitName(RewriteName(columns[i]))} = {RewriteValue(values[i])}";
|
||||
}
|
||||
sql += " ";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(condition))
|
||||
{
|
||||
// note that condition values must be created using RewriteName(), DelimitName(), RewriteValue() if targeting multiple database platforms
|
||||
sql += $"WHERE {condition}";
|
||||
}
|
||||
_migrationBuilder.Sql(sql);
|
||||
}
|
||||
|
||||
public void DeleteData(string condition)
|
||||
{
|
||||
var sql = $"DELETE FROM {AddSchema(DelimitName(RewriteName(EntityTableName)))} ";
|
||||
if (!string.IsNullOrEmpty(condition))
|
||||
{
|
||||
// note that condition values must be created using RewriteName(), DelimitName(), RewriteValue() if targeting multiple database platforms
|
||||
sql += $"WHERE {condition}";
|
||||
}
|
||||
_migrationBuilder.Sql(sql);
|
||||
}
|
||||
|
||||
|
||||
[Obsolete("DeleteFromTable(condition) is deprecated. Use DeleteData(condition) instead", false)]
|
||||
public void DeleteFromTable(string condition = "")
|
||||
{
|
||||
DeleteData(condition);
|
||||
}
|
||||
|
||||
[Obsolete("UpdateColumn(columnName, value) is deprecated. Use UpdateData(column, value) instead", false)]
|
||||
public void UpdateColumn(string columnName, string value)
|
||||
{
|
||||
UpdateColumn(columnName, value, "", "");
|
||||
}
|
||||
|
||||
[Obsolete("UpdateColumn(columnName, value, condition) is deprecated. Use UpdateData(column, value, condition) instead", false)]
|
||||
public void UpdateColumn(string columnName, string value, string condition)
|
||||
{
|
||||
UpdateColumn(columnName, value, "", condition);
|
||||
}
|
||||
|
||||
[Obsolete("UpdateColumn(columnName, value, type, condition) is deprecated. Use UpdateData(column, value, condition) instead", false)]
|
||||
public void UpdateColumn(string columnName, string value, string type, string condition)
|
||||
{
|
||||
var updateSql = $"UPDATE {AddSchema(DelimitName(RewriteName(EntityTableName)))} SET {DelimitName(RewriteName(columnName))} = {RewriteValue(value, type)} ";
|
||||
if (!string.IsNullOrEmpty(condition))
|
||||
{
|
||||
// note that condition values must be created using RewriteName(), DelimitName(), RewriteValue() if targeting multiple database platforms
|
||||
updateSql += $"WHERE {condition}";
|
||||
}
|
||||
_migrationBuilder.Sql(updateSql);
|
||||
object obj = (type == "bool" && value == "1") ? true : false; // boolean values had custom logic for PostgreSQL
|
||||
UpdateData([columnName], [obj], condition);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -22,9 +22,9 @@ namespace Oqtane.Migrations
|
||||
return ActiveDatabase.RewriteName(name);
|
||||
}
|
||||
|
||||
protected string RewriteValue(string value, string type)
|
||||
protected string RewriteValue(object value)
|
||||
{
|
||||
return ActiveDatabase.RewriteValue(value, type);
|
||||
return ActiveDatabase.RewriteValue(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ namespace Oqtane.Migrations.Master
|
||||
//Update new column if SqlServer (Other Databases will not have any records yet)
|
||||
if (ActiveDatabase.Name == "SqlServer")
|
||||
{
|
||||
tenantEntityBuilder.UpdateColumn("DBType", $"'{ActiveDatabase.TypeName}'");
|
||||
tenantEntityBuilder.UpdateData("DBType", $"'{ActiveDatabase.TypeName}'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ namespace Oqtane.Migrations.Master
|
||||
//Add Column to Alias table
|
||||
var aliasEntityBuilder = new AliasEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
aliasEntityBuilder.AddBooleanColumn("IsDefault", true);
|
||||
aliasEntityBuilder.UpdateColumn("IsDefault", "1", "bool", "");
|
||||
aliasEntityBuilder.UpdateData("IsDefault", true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -21,7 +21,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
notificationEntityBuilder.AddDateTimeColumn("SendOn", true);
|
||||
|
||||
//Update new Column
|
||||
notificationEntityBuilder.UpdateColumn("SendOn", $"{RewriteName("CreatedOn")}", $"{DelimitName(RewriteName("SendOn"))} IS NULL");
|
||||
notificationEntityBuilder.UpdateData("SendOn", $"{DelimitName(RewriteName("CreatedOn"))}", $"{DelimitName(RewriteName("SendOn"))} IS NULL");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -21,7 +21,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
profileEntityBuilder.AddStringColumn("Options", 2000, true);
|
||||
|
||||
//Update new column
|
||||
profileEntityBuilder.UpdateColumn("Options", "''");
|
||||
profileEntityBuilder.UpdateData("Options", "''");
|
||||
|
||||
//Alter Column in Page table for Sql Server
|
||||
if (ActiveDatabase.Name == "SqlServer")
|
||||
|
@ -19,7 +19,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
///Update Icon Field in Page
|
||||
var pageEntityBuilder = new PageEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
var updateSql = ActiveDatabase.ConcatenateSql("'oi oi-'", $"{DelimitName(RewriteName("Icon"))}");
|
||||
pageEntityBuilder.UpdateColumn("Icon", updateSql, $"{DelimitName(RewriteName("Icon"))} <> ''" );
|
||||
pageEntityBuilder.UpdateData("Icon", updateSql, $"{DelimitName(RewriteName("Icon"))} <> ''" );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,12 +21,12 @@ namespace Oqtane.Migrations.Tenant
|
||||
siteEntityBuilder.AddStringColumn("AdminContainerType", 200, true);
|
||||
|
||||
//Update new column
|
||||
siteEntityBuilder.UpdateColumn("AdminContainerType", "''");
|
||||
siteEntityBuilder.UpdateData("AdminContainerType", "''");
|
||||
|
||||
|
||||
//Delete records from Page
|
||||
var pageEntityBuilder = new PageEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
pageEntityBuilder.DeleteFromTable($"{ActiveDatabase.RewriteName("Path")} = 'admin/tenants'");
|
||||
pageEntityBuilder.DeleteData($"{ActiveDatabase.RewriteName("Path")} = 'admin/tenants'");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -20,18 +20,18 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
//Update DefaultContainerType In Site
|
||||
var siteEntityBuilder = new SiteEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
siteEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'");
|
||||
siteEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.NoTitle, Oqtane.Client'");
|
||||
siteEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'");
|
||||
siteEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.NoTitle, Oqtane.Client'");
|
||||
|
||||
//Update DefaultContainerType in Page
|
||||
var pageEntityBuilder = new PageEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
pageEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'");
|
||||
pageEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.NoTitle, Oqtane.Client'");
|
||||
pageEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'");
|
||||
pageEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.NoTitle, Oqtane.Client'");
|
||||
|
||||
//Update ContainerType in PageModule
|
||||
var pageModuleEntityBuilder = new PageModuleEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
pageModuleEntityBuilder.UpdateColumn("ContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'");
|
||||
pageModuleEntityBuilder.UpdateColumn("ContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.NoTitle, Oqtane.Client'");
|
||||
pageModuleEntityBuilder.UpdateData("ContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'");
|
||||
pageModuleEntityBuilder.UpdateData("ContainerType", "'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.NoTitle, Oqtane.Client'");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -29,22 +29,22 @@ namespace Oqtane.Migrations.Tenant
|
||||
siteEntityBuilder.DropColumn("DefaultLayoutType");
|
||||
|
||||
//Update DefaultContainerType In Site
|
||||
siteEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'");
|
||||
siteEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'");
|
||||
siteEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'");
|
||||
siteEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'");
|
||||
|
||||
//Drop Column from Page Table
|
||||
var pageEntityBuilder = new PageEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
pageEntityBuilder.DropColumn("LayoutType");
|
||||
|
||||
//Update DefaultContainerType in Page
|
||||
pageEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'");
|
||||
pageEntityBuilder.UpdateColumn("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'");
|
||||
pageEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'");
|
||||
pageEntityBuilder.UpdateData("DefaultContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("DefaultContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'");
|
||||
|
||||
|
||||
//Update ContainerType in PageModule
|
||||
var pageModuleEntityBuilder = new PageModuleEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
pageModuleEntityBuilder.UpdateColumn("ContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'");
|
||||
pageModuleEntityBuilder.UpdateColumn("ContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'");
|
||||
pageModuleEntityBuilder.UpdateData("ContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultTitle, Oqtane.Client'");
|
||||
pageModuleEntityBuilder.UpdateData("ContainerType", "'Oqtane.Themes.OqtaneTheme.Container, Oqtane.Client'", $"{DelimitName(RewriteName("ContainerType"))} = 'Oqtane.Themes.OqtaneTheme.DefaultNoTitle, Oqtane.Client'");
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
|
||||
//Add Type column and initialize
|
||||
folderEntityBuilder.AddStringColumn("Type", 50, true, true);
|
||||
folderEntityBuilder.UpdateColumn("Type", "'" + FolderTypes.Private + "'");
|
||||
folderEntityBuilder.UpdateData("Type", "'" + FolderTypes.Private + "'");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -19,7 +19,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
var pageEntityBuilder = new PageEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
|
||||
pageEntityBuilder.AddBooleanColumn("IsClickable", true);
|
||||
pageEntityBuilder.UpdateColumn("IsClickable", "1", "bool", "");
|
||||
pageEntityBuilder.UpdateData("IsClickable", true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -19,8 +19,8 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var folderEntityBuilder = new FolderEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
folderEntityBuilder.AddIntegerColumn("Capacity", true);
|
||||
folderEntityBuilder.UpdateColumn("Capacity", "0");
|
||||
folderEntityBuilder.UpdateColumn("Capacity", Constants.UserFolderCapacity.ToString(), $"{DelimitName(RewriteName("Name"))} = 'My Folder'");
|
||||
folderEntityBuilder.UpdateData("Capacity", 0);
|
||||
folderEntityBuilder.UpdateData("Capacity", Constants.UserFolderCapacity, $"{DelimitName(RewriteName("Name"))} = 'My Folder'");
|
||||
folderEntityBuilder.AddStringColumn("ImageSizes", 512, true, true);
|
||||
|
||||
var fileEntityBuilder = new FileEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
|
@ -19,7 +19,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var settingEntityBuilder = new SettingEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
settingEntityBuilder.AddBooleanColumn("IsPublic", true);
|
||||
settingEntityBuilder.UpdateColumn("IsPublic", "0", "bool", "");
|
||||
settingEntityBuilder.UpdateData("IsPublic", false);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -18,9 +18,9 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var siteEntityBuilder = new SiteEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
siteEntityBuilder.AddStringColumn("Runtime", 50, true, true);
|
||||
siteEntityBuilder.UpdateColumn("Runtime", "'Server'");
|
||||
siteEntityBuilder.UpdateData("Runtime", "'Server'");
|
||||
siteEntityBuilder.AddStringColumn("RenderMode", 50, true, true);
|
||||
siteEntityBuilder.UpdateColumn("RenderMode", "'ServerPrerendered'");
|
||||
siteEntityBuilder.UpdateData("RenderMode", "'ServerPrerendered'");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -19,9 +19,9 @@ namespace Oqtane.Migrations.Tenant
|
||||
var siteEntityBuilder = new SiteEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
|
||||
siteEntityBuilder.AddBooleanColumn("VisitorTracking", true);
|
||||
siteEntityBuilder.UpdateColumn("VisitorTracking", "1", "bool", "");
|
||||
siteEntityBuilder.UpdateData("VisitorTracking", true);
|
||||
siteEntityBuilder.AddBooleanColumn("CaptureBrokenUrls", true);
|
||||
siteEntityBuilder.UpdateColumn("CaptureBrokenUrls", "1", "bool", "");
|
||||
siteEntityBuilder.UpdateData("CaptureBrokenUrls", true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -18,13 +18,13 @@ namespace Oqtane.Migrations.Tenant
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var settingEntityBuilder = new SettingEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
settingEntityBuilder.UpdateColumn("IsPublic", "1", "bool", $"{DelimitName(RewriteName("SettingName"))} NOT LIKE 'SMTP%'");
|
||||
settingEntityBuilder.UpdateData("IsPublic", true, $"{DelimitName(RewriteName("SettingName"))} NOT LIKE 'SMTP%'");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
var settingEntityBuilder = new SettingEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
settingEntityBuilder.UpdateColumn("IsPublic", "0", "bool", $"{DelimitName(RewriteName("SettingName"))} NOT LIKE 'SMTP%'");
|
||||
settingEntityBuilder.UpdateData("IsPublic", false, $"{DelimitName(RewriteName("SettingName"))} NOT LIKE 'SMTP%'");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,8 +19,8 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var settingEntityBuilder = new SettingEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
settingEntityBuilder.AddBooleanColumn("IsPrivate", true);
|
||||
settingEntityBuilder.UpdateColumn("IsPrivate", "0", "bool", "");
|
||||
settingEntityBuilder.UpdateColumn("IsPrivate", "1", "bool", $"{DelimitName(RewriteName("EntityName"))} = 'Site' AND { DelimitName(RewriteName("SettingName"))} LIKE 'SMTP%'");
|
||||
settingEntityBuilder.UpdateData("IsPrivate", false);
|
||||
settingEntityBuilder.UpdateData("IsPrivate", true, $"{DelimitName(RewriteName("EntityName"))} = 'Site' AND { DelimitName(RewriteName("SettingName"))} LIKE 'SMTP%'");
|
||||
settingEntityBuilder.DropColumn("IsPublic");
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
var pageEntityBuilder = new PageEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
pageEntityBuilder.AddStringColumn("HeadContent", 4000, true);
|
||||
|
||||
pageEntityBuilder.UpdateColumn("HeadContent", "Meta");
|
||||
pageEntityBuilder.UpdateData("HeadContent", "Meta");
|
||||
pageEntityBuilder.DropColumn("Meta");
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var notificationEntityBuilder = new NotificationEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
notificationEntityBuilder.AddBooleanColumn("IsRead", true);
|
||||
notificationEntityBuilder.UpdateColumn("IsRead", "1", "bool", "");
|
||||
notificationEntityBuilder.UpdateData("IsRead", true);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -18,7 +18,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var profileEntityBuilder = new ProfileEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
profileEntityBuilder.AddIntegerColumn("Rows", true);
|
||||
profileEntityBuilder.UpdateColumn("Rows", "1");
|
||||
profileEntityBuilder.UpdateData("Rows", 1);
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -18,7 +18,7 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var siteEntityBuilder = new SiteEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
siteEntityBuilder.AddBooleanColumn("HybridEnabled", true);
|
||||
siteEntityBuilder.UpdateColumn("HybridEnabled", "0", "bool", ""); // default to false
|
||||
siteEntityBuilder.UpdateData("HybridEnabled", false); // default to false
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
@ -19,13 +19,13 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
var siteEntityBuilder = new SiteEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
|
||||
siteEntityBuilder.UpdateColumn("RenderMode", $"'{RenderModes.Interactive}'");
|
||||
siteEntityBuilder.UpdateData("RenderMode", $"'{RenderModes.Interactive}'");
|
||||
|
||||
siteEntityBuilder.AddBooleanColumn("Prerender", true);
|
||||
siteEntityBuilder.UpdateColumn("Prerender", "1", "bool", "");
|
||||
siteEntityBuilder.UpdateData("Prerender", true);
|
||||
|
||||
siteEntityBuilder.AddBooleanColumn("Hybrid", true);
|
||||
siteEntityBuilder.UpdateColumn("Hybrid", "0", "bool", "");
|
||||
siteEntityBuilder.UpdateData("Hybrid", false);
|
||||
siteEntityBuilder.DropColumn("HybridEnabled");
|
||||
}
|
||||
|
||||
|
@ -18,10 +18,10 @@ namespace Oqtane.Migrations.Tenant
|
||||
{
|
||||
// resetting value as framework now uses IANA ID consistently for time zones
|
||||
var siteEntityBuilder = new SiteEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
siteEntityBuilder.UpdateColumn("TimeZoneId", "''");
|
||||
siteEntityBuilder.UpdateData("TimeZoneId", "''");
|
||||
|
||||
var userEntityBuilder = new UserEntityBuilder(migrationBuilder, ActiveDatabase);
|
||||
userEntityBuilder.UpdateColumn("TimeZoneId", "''");
|
||||
userEntityBuilder.UpdateData("TimeZoneId", "''");
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
|
Reference in New Issue
Block a user