diff --git a/Oqtane.Server/Infrastructure/DatabaseManager.cs b/Oqtane.Server/Infrastructure/DatabaseManager.cs index 6c3d50e1..7a7cff0d 100644 --- a/Oqtane.Server/Infrastructure/DatabaseManager.cs +++ b/Oqtane.Server/Infrastructure/DatabaseManager.cs @@ -194,10 +194,12 @@ namespace Oqtane.Infrastructure if (install.TenantName == Constants.MasterTenant) { + MigrateScriptNamingConvention("Master", install.ConnectionString); + var upgradeConfig = DeployChanges - .To - .SqlDatabase(NormalizeConnectionString(install.ConnectionString)) - .WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly(), s => s.Contains("Master.") && s.EndsWith(".sql",StringComparison.OrdinalIgnoreCase)); + .To + .SqlDatabase(NormalizeConnectionString(install.ConnectionString)) + .WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly(), s => s.Contains("Master.") && s.EndsWith(".sql",StringComparison.OrdinalIgnoreCase)); var upgrade = upgradeConfig.Build(); if (upgrade.IsUpgradeRequired()) @@ -285,6 +287,8 @@ namespace Oqtane.Infrastructure { foreach (var tenant in db.Tenant.ToList()) { + MigrateScriptNamingConvention("Tenant", tenant.DBConnectionString); + var upgradeConfig = DeployChanges.To.SqlDatabase(NormalizeConnectionString(tenant.DBConnectionString)) .WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly(), s => s.Contains("Tenant.") && s.EndsWith(".sql", StringComparison.OrdinalIgnoreCase)); @@ -568,6 +572,18 @@ namespace Oqtane.Infrastructure if (string.IsNullOrEmpty(value)) value = defaultValue; return value; } - + + private void MigrateScriptNamingConvention(string scriptType, string connectionString) + { + // migrate to new naming convention for scripts + var migrateConfig = DeployChanges.To.SqlDatabase(NormalizeConnectionString(connectionString)) + .WithScriptsEmbeddedInAssembly(Assembly.GetExecutingAssembly(), s => s == scriptType + ".00.00.00.00.sql"); + var migrate = migrateConfig.Build(); + if (migrate.IsUpgradeRequired()) + { + migrate.PerformUpgrade(); + } + } + } } diff --git a/Oqtane.Server/Oqtane.Server.csproj b/Oqtane.Server/Oqtane.Server.csproj index dae3eed2..0db9ece5 100644 --- a/Oqtane.Server/Oqtane.Server.csproj +++ b/Oqtane.Server/Oqtane.Server.csproj @@ -23,16 +23,14 @@ - - - - - - - - - - + + + + + + + + diff --git a/Oqtane.Server/Scripts/Master.00.00.00.00.sql b/Oqtane.Server/Scripts/Master.00.00.00.00.sql new file mode 100644 index 00000000..e94cd112 --- /dev/null +++ b/Oqtane.Server/Scripts/Master.00.00.00.00.sql @@ -0,0 +1,10 @@ +/* + +migrate to new naming convention for scripts + +*/ + +UPDATE [dbo].[SchemaVersions] SET ScriptName = 'Oqtane.Scripts.Master.00.09.00.00.sql' WHERE ScriptName = 'Oqtane.Scripts.Master.0.9.0.sql' +GO +UPDATE [dbo].[SchemaVersions] SET ScriptName = 'Oqtane.Scripts.Master.01.00.01.00.sql' WHERE ScriptName = 'Oqtane.Scripts.Master.1.0.1.sql' +GO \ No newline at end of file diff --git a/Oqtane.Server/Scripts/Master.0.9.0.sql b/Oqtane.Server/Scripts/Master.00.09.00.00.sql similarity index 100% rename from Oqtane.Server/Scripts/Master.0.9.0.sql rename to Oqtane.Server/Scripts/Master.00.09.00.00.sql diff --git a/Oqtane.Server/Scripts/Master.1.0.1.sql b/Oqtane.Server/Scripts/Master.01.00.01.00.sql similarity index 100% rename from Oqtane.Server/Scripts/Master.1.0.1.sql rename to Oqtane.Server/Scripts/Master.01.00.01.00.sql diff --git a/Oqtane.Server/Scripts/Tenant.00.00.00.00.sql b/Oqtane.Server/Scripts/Tenant.00.00.00.00.sql new file mode 100644 index 00000000..ffbe2d02 --- /dev/null +++ b/Oqtane.Server/Scripts/Tenant.00.00.00.00.sql @@ -0,0 +1,14 @@ +/* + +migrate to new naming convention for scripts + +*/ + +UPDATE [dbo].[SchemaVersions] SET ScriptName = 'Oqtane.Scripts.Tenant.00.09.00.00.sql' WHERE ScriptName = 'Oqtane.Scripts.Tenant.0.9.0.sql' +GO +UPDATE [dbo].[SchemaVersions] SET ScriptName = 'Oqtane.Scripts.Tenant.00.09.01.00.sql' WHERE ScriptName = 'Oqtane.Scripts.Tenant.0.9.1.sql' +GO +UPDATE [dbo].[SchemaVersions] SET ScriptName = 'Oqtane.Scripts.Tenant.00.09.02.00.sql' WHERE ScriptName = 'Oqtane.Scripts.Tenant.0.9.2.sql' +GO +UPDATE [dbo].[SchemaVersions] SET ScriptName = 'Oqtane.Scripts.Tenant.01.00.01.00.sql' WHERE ScriptName = 'Oqtane.Scripts.Tenant.1.0.1.sql' +GO diff --git a/Oqtane.Server/Scripts/Tenant.0.9.0.sql b/Oqtane.Server/Scripts/Tenant.00.09.00.00.sql similarity index 100% rename from Oqtane.Server/Scripts/Tenant.0.9.0.sql rename to Oqtane.Server/Scripts/Tenant.00.09.00.00.sql diff --git a/Oqtane.Server/Scripts/Tenant.0.9.1.sql b/Oqtane.Server/Scripts/Tenant.00.09.01.00.sql similarity index 100% rename from Oqtane.Server/Scripts/Tenant.0.9.1.sql rename to Oqtane.Server/Scripts/Tenant.00.09.01.00.sql diff --git a/Oqtane.Server/Scripts/Tenant.0.9.2.sql b/Oqtane.Server/Scripts/Tenant.00.09.02.00.sql similarity index 100% rename from Oqtane.Server/Scripts/Tenant.0.9.2.sql rename to Oqtane.Server/Scripts/Tenant.00.09.02.00.sql diff --git a/Oqtane.Server/Scripts/Tenant.1.0.1.sql b/Oqtane.Server/Scripts/Tenant.01.00.01.00.sql similarity index 100% rename from Oqtane.Server/Scripts/Tenant.1.0.1.sql rename to Oqtane.Server/Scripts/Tenant.01.00.01.00.sql