From 0c0802e9644d970ad558849268ad2c4d66ccd7e7 Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 1 Apr 2015 17:43:27 +1100 Subject: [PATCH] updates the migrations to use the correct ctor (not empty), this is more for v8 but have created a crappy activator that passes in the right args. --- src/Umbraco.Core/CoreBootManager.cs | 2 +- .../Migrations/MigrationResolver.cs | 25 ++++++++++++++++--- .../AddExternalLoginsTable.cs | 7 ++++++ .../AddPublicAccessTables.cs | 7 ++++++ .../AddRelationTypeForDocumentOnDelete.cs | 7 ++++++ .../AddUserSecurityStampColumn.cs | 7 ++++++ .../CreateCacheInstructionTable.cs | 13 +++++++++- .../MigrateAndRemoveTemplateMasterColumn.cs | 7 ++++++ .../MigrateStylesheetDataToFile.cs | 21 ++++++++++------ .../MovePublicAccessXmlDataToDb.cs | 20 +++++++++------ .../RemoveHelpTextColumn.cs | 7 ++++++ .../RemoveLanguageLocaleColumn.cs | 7 ++++++ .../RemoveStylesheetDataAndTables.cs | 7 ++++++ .../UpdateUniqueIdToHaveCorrectIndexType.cs | 9 +++++-- .../Migrations/FindingMigrationsTest.cs | 2 +- .../TargetVersionSixthMigrationsTest.cs | 2 +- .../Migrations/Upgrades/BaseUpgradeTest.cs | 2 +- 17 files changed, 127 insertions(+), 25 deletions(-) diff --git a/src/Umbraco.Core/CoreBootManager.cs b/src/Umbraco.Core/CoreBootManager.cs index 0e6f910a5e..3155ffa9b0 100644 --- a/src/Umbraco.Core/CoreBootManager.cs +++ b/src/Umbraco.Core/CoreBootManager.cs @@ -360,7 +360,7 @@ namespace Umbraco.Core //the database migration objects MigrationResolver.Current = new MigrationResolver( - ServiceProvider, LoggerResolver.Current.Logger, + LoggerResolver.Current.Logger, () => PluginManager.ResolveTypes()); // todo: remove once we drop IPropertyEditorValueConverter support. diff --git a/src/Umbraco.Core/Persistence/Migrations/MigrationResolver.cs b/src/Umbraco.Core/Persistence/Migrations/MigrationResolver.cs index 69391c7485..7584d686aa 100644 --- a/src/Umbraco.Core/Persistence/Migrations/MigrationResolver.cs +++ b/src/Umbraco.Core/Persistence/Migrations/MigrationResolver.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; +using System.Linq; using Umbraco.Core.Logging; using Umbraco.Core.ObjectResolution; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations { @@ -13,14 +15,13 @@ namespace Umbraco.Core.Persistence.Migrations /// /// Constructor /// - /// /// /// /// /// Use transient objects as we don't want these as singletons and take up memory that is not required /// - public MigrationResolver(IServiceProvider serviceProvider, ILogger logger, Func> migrations) - : base(serviceProvider, logger, migrations, ObjectLifetimeScope.Transient) + public MigrationResolver(ILogger logger, Func> migrations) + : base(new MigrationServiceProvider(), logger, migrations, ObjectLifetimeScope.Transient) { } @@ -32,5 +33,23 @@ namespace Umbraco.Core.Persistence.Migrations get { return Values; } } + + /// + /// This will ctor the IMigration instances + /// + /// + /// This is like a super crappy DI - in v8 we have real DI + /// + private class MigrationServiceProvider : IServiceProvider + { + public object GetService(Type serviceType) + { + var normalArgs = new[] {typeof (ISqlSyntaxProvider), typeof (ILogger)}; + var found = serviceType.GetConstructor(normalArgs); + if (found != null) + return found.Invoke(new object[] {ApplicationContext.Current.DatabaseContext.SqlSyntax, LoggerResolver.Current.Logger}); + return Activator.CreateInstance(serviceType); + } + } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddExternalLoginsTable.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddExternalLoginsTable.cs index b29aff9048..0fbec244b2 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddExternalLoginsTable.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddExternalLoginsTable.cs @@ -1,12 +1,19 @@ using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; using Umbraco.Core.Persistence.DatabaseModelDefinitions; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 9, GlobalSettings.UmbracoMigrationName)] public class AddExternalLoginsTable : MigrationBase { + public AddExternalLoginsTable(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { //Don't exeucte if the table is already there diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddPublicAccessTables.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddPublicAccessTables.cs index f85502fb61..16c0a923ae 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddPublicAccessTables.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddPublicAccessTables.cs @@ -1,12 +1,19 @@ using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; using Umbraco.Core.Persistence.DatabaseModelDefinitions; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 6, GlobalSettings.UmbracoMigrationName)] public class AddPublicAccessTables : MigrationBase { + public AddPublicAccessTables(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { //Don't exeucte if the table is already there diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddRelationTypeForDocumentOnDelete.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddRelationTypeForDocumentOnDelete.cs index 8e3cddf8b7..c9db282d85 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddRelationTypeForDocumentOnDelete.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddRelationTypeForDocumentOnDelete.cs @@ -1,12 +1,19 @@ using System; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; using Umbraco.Core.Models.Rdbms; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 0, GlobalSettings.UmbracoMigrationName)] public class AddRelationTypeForDocumentOnDelete : MigrationBase { + public AddRelationTypeForDocumentOnDelete(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { var exists = Context.Database.FirstOrDefault("WHERE alias=@alias", new {alias = Constants.Conventions.RelationTypes.RelateParentDocumentOnDeleteAlias}); diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddUserSecurityStampColumn.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddUserSecurityStampColumn.cs index 21ead0996b..2a95a542b0 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddUserSecurityStampColumn.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/AddUserSecurityStampColumn.cs @@ -1,11 +1,18 @@ using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 10, GlobalSettings.UmbracoMigrationName)] public class AddUserSecurityStampColumn : MigrationBase { + public AddUserSecurityStampColumn(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { //Don't exeucte if the column is already there diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/CreateCacheInstructionTable.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/CreateCacheInstructionTable.cs index 66391f9fe5..44757aed9a 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/CreateCacheInstructionTable.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/CreateCacheInstructionTable.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; using Umbraco.Core.Persistence.DatabaseAnnotations; using Umbraco.Core.Persistence.SqlSyntax; @@ -12,9 +13,19 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe [Migration("7.3.0", 1, GlobalSettings.UmbracoMigrationName)] public class CreateCacheInstructionTable : MigrationBase { + public CreateCacheInstructionTable(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { - var textType = SqlSyntaxContext.SqlSyntaxProvider.GetSpecialDbType(SpecialDbTypes.NTEXT); + + //Don't exeucte if the table is already there + var tables = SqlSyntax.GetTablesInSchema(Context.Database).ToArray(); + if (tables.InvariantContains("umbracoCacheInstruction")) return; + + var textType = SqlSyntax.GetSpecialDbType(SpecialDbTypes.NTEXT); Create.Table("umbracoCacheInstruction") .WithColumn("id").AsInt32().Identity().NotNullable() diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs index 0fe8c3c36c..3cea873f73 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateAndRemoveTemplateMasterColumn.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; using Umbraco.Core.Models.Rdbms; using Umbraco.Core.Persistence.SqlSyntax; @@ -12,6 +13,12 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe [Migration("7.3.0", 1, GlobalSettings.UmbracoMigrationName)] public class MigrateAndRemoveTemplateMasterColumn : MigrationBase { + + public MigrateAndRemoveTemplateMasterColumn(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateStylesheetDataToFile.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateStylesheetDataToFile.cs index 05a5b54f5f..35e4befc55 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateStylesheetDataToFile.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MigrateStylesheetDataToFile.cs @@ -4,7 +4,9 @@ using System.Linq; using System.Text; using Umbraco.Core.Configuration; using Umbraco.Core.IO; +using Umbraco.Core.Logging; using Umbraco.Core.Models; +using Umbraco.Core.Persistence.SqlSyntax; using File = System.IO.File; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero @@ -21,6 +23,11 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe [Migration("7.3.0", 2, GlobalSettings.UmbracoMigrationName)] public class MigrateStylesheetDataToFile : MigrationBase { + public MigrateStylesheetDataToFile(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { //Don't exeucte if the stylesheet table is not there @@ -30,7 +37,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe //This is all rather nasty but it's how stylesheets used to work in the 2 various ugly ways so we just have to // deal with that to get this migration done - + var tempFolder = IOHelper.MapPath("~/App_Data/TEMP/CssMigration/"); if (Directory.Exists(tempFolder)) { @@ -44,7 +51,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe } //create the temp folder var tempDir = Directory.CreateDirectory(IOHelper.MapPath("~/App_Data/TEMP/CssMigration/")); - + var sheets = Context.Database.Fetch("SELECT * FROM cmsStylesheet INNER JOIN umbracoNode on cmsStylesheet.nodeId = umbracoNode.id"); foreach (var sheet in sheets) @@ -55,7 +62,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe //we will always use the file content over the db content if there is any using (var memStream = new MemoryStream(Encoding.UTF8.GetBytes(sheet.content))) { - dbContent = GetContentAboveUmbracoProps(memStream); + dbContent = GetContentAboveUmbracoProps(memStream); } var fileContent = string.Empty; @@ -69,7 +76,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe { using (var stream = File.OpenRead(filePath)) { - fileContent = GetContentAboveUmbracoProps(stream); + fileContent = GetContentAboveUmbracoProps(stream); } } @@ -86,10 +93,10 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe { if (stylesheetInstance.Properties.Any(x => x.Name == prop.text) == false) { - stylesheetInstance.AddProperty(new StylesheetProperty(prop.text, prop.stylesheetPropertyAlias, prop.stylesheetPropertyValue)); + stylesheetInstance.AddProperty(new StylesheetProperty(prop.text, prop.stylesheetPropertyAlias, prop.stylesheetPropertyValue)); } } - + //Save to temp folder //ensure the folder for the file exists since it could be in a sub folder @@ -97,7 +104,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe Directory.CreateDirectory(Path.GetDirectoryName(tempFilePath)); File.WriteAllText(tempFilePath, stylesheetInstance.Content, Encoding.UTF8); - + } } diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MovePublicAccessXmlDataToDb.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MovePublicAccessXmlDataToDb.cs index 328322d7e2..7dd5f81b3a 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MovePublicAccessXmlDataToDb.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/MovePublicAccessXmlDataToDb.cs @@ -6,13 +6,17 @@ using Umbraco.Core.Configuration; using Umbraco.Core.IO; using Umbraco.Core.Logging; using Umbraco.Core.Models.Rdbms; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 7, GlobalSettings.UmbracoMigrationName)] public class MovePublicAccessXmlDataToDb : MigrationBase { - + public MovePublicAccessXmlDataToDb(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } public override void Up() { @@ -32,14 +36,14 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe foreach (var page in xml.Root.Elements("page")) { - var pageId = (int?) page.Attribute("id"); - var loginPageId = (int?) page.Attribute("loginPage"); + var pageId = (int?)page.Attribute("id"); + var loginPageId = (int?)page.Attribute("loginPage"); var noRightsPageId = (int?)page.Attribute("noRightsPage"); - if (pageId.HasValue == false || loginPageId.HasValue == false || noRightsPageId.HasValue == false) + if (pageId.HasValue == false || loginPageId.HasValue == false || noRightsPageId.HasValue == false) continue; //ensure this page exists! - var umbracoNode = Context.Database.FirstOrDefault("WHERE id = @Id", new {Id = pageId.Value}); + var umbracoNode = Context.Database.FirstOrDefault("WHERE id = @Id", new { Id = pageId.Value }); if (umbracoNode != null) { var loginNode = Context.Database.FirstOrDefault("WHERE id = @Id", new { Id = loginPageId.Value }); @@ -60,7 +64,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe }); //if a memberId has been specified, then add that as a rule - var memberId = (string) page.Attribute("memberId"); + var memberId = (string)page.Attribute("memberId"); if (memberId.IsNullOrWhiteSpace() == false) { Insert.IntoTable("umbracoAccessRule").Row(new @@ -91,7 +95,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe createDate = DateTime.Now, updateDate = DateTime.Now }); - } + } } } @@ -104,7 +108,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe { Logger.Warn("No umbracoNode could be found with id " + loginPageId.Value); } - + } else { diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveHelpTextColumn.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveHelpTextColumn.cs index 3f01442367..d4911bd65a 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveHelpTextColumn.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveHelpTextColumn.cs @@ -1,11 +1,18 @@ using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 8, GlobalSettings.UmbracoMigrationName)] public class RemoveHelpTextColumn : MigrationBase { + public RemoveHelpTextColumn(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { var columns = SqlSyntax.GetColumnsInSchema(Context.Database).Distinct().ToArray(); diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveLanguageLocaleColumn.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveLanguageLocaleColumn.cs index 9e28994ca4..a793cc6bbc 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveLanguageLocaleColumn.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveLanguageLocaleColumn.cs @@ -1,11 +1,18 @@ using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 4, GlobalSettings.UmbracoMigrationName)] public class RemoveLanguageLocaleColumn : MigrationBase { + public RemoveLanguageLocaleColumn(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { var columns = SqlSyntax.GetColumnsInSchema(Context.Database).Distinct().ToArray(); diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveStylesheetDataAndTables.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveStylesheetDataAndTables.cs index a47c00c501..da6d1b957d 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveStylesheetDataAndTables.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/RemoveStylesheetDataAndTables.cs @@ -1,12 +1,19 @@ using System; using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 3, GlobalSettings.UmbracoMigrationName)] public class RemoveStylesheetDataAndTables : MigrationBase { + public RemoveStylesheetDataAndTables(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + public override void Up() { //Clear all stylesheet data if the tables exist diff --git a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/UpdateUniqueIdToHaveCorrectIndexType.cs b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/UpdateUniqueIdToHaveCorrectIndexType.cs index bcef3f6379..ee6849c1e4 100644 --- a/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/UpdateUniqueIdToHaveCorrectIndexType.cs +++ b/src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSevenThreeZero/UpdateUniqueIdToHaveCorrectIndexType.cs @@ -1,12 +1,19 @@ using System.Linq; using Umbraco.Core.Configuration; +using Umbraco.Core.Logging; using Umbraco.Core.Persistence.DatabaseModelDefinitions; +using Umbraco.Core.Persistence.SqlSyntax; namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZero { [Migration("7.3.0", 5, GlobalSettings.UmbracoMigrationName)] public class UpdateUniqueIdToHaveCorrectIndexType : MigrationBase { + public UpdateUniqueIdToHaveCorrectIndexType(ISqlSyntaxProvider sqlSyntax, ILogger logger) + : base(sqlSyntax, logger) + { + } + //see: http://issues.umbraco.org/issue/U4-6188, http://issues.umbraco.org/issue/U4-6187 public override void Up() { @@ -35,8 +42,6 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenThreeZe //must be a uniqe index Create.Index("IX_umbracoNode_uniqueID").OnTable("umbracoNode").OnColumn("uniqueID").Unique(); } - - } public override void Down() diff --git a/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs b/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs index a3e6aca822..59549faf65 100644 --- a/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs +++ b/src/Umbraco.Tests/Migrations/FindingMigrationsTest.cs @@ -20,7 +20,7 @@ namespace Umbraco.Tests.Migrations public void Initialize() { MigrationResolver.Current = new MigrationResolver( - new ActivatorServiceProvider(), Mock.Of(), + Mock.Of(), () => new List { typeof (AlterUserTableMigrationStub), diff --git a/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs b/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs index 1697110b5d..4b1f18f09b 100644 --- a/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs +++ b/src/Umbraco.Tests/Migrations/TargetVersionSixthMigrationsTest.cs @@ -33,7 +33,7 @@ namespace Umbraco.Tests.Migrations AppDomain.CurrentDomain.SetData("DataDirectory", Path); MigrationResolver.Current = new MigrationResolver( - new ActivatorServiceProvider(), ProfilingLogger.Logger, + ProfilingLogger.Logger, () => new List { typeof (Core.Persistence.Migrations.Upgrades.TargetVersionFourNineZero.RemoveUmbracoAppConstraints), diff --git a/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs b/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs index ea99b01c32..4d371eb1f9 100644 --- a/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs +++ b/src/Umbraco.Tests/Migrations/Upgrades/BaseUpgradeTest.cs @@ -31,7 +31,7 @@ namespace Umbraco.Tests.Migrations.Upgrades AppDomain.CurrentDomain.SetData("DataDirectory", Path); MigrationResolver.Current = new MigrationResolver( - new ActivatorServiceProvider(), Mock.Of(), + Mock.Of(), () => new List { typeof (Core.Persistence.Migrations.Upgrades.TargetVersionFourNineZero.RemoveUmbracoAppConstraints),