U4-9250 - fix migration

This commit is contained in:
Stephan
2016-12-20 15:25:35 +01:00
parent f25641b2a7
commit 38e8e1cf9c
2 changed files with 61 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSixZero
[Migration("7.6.0", 0, GlobalSettings.UmbracoMigrationName)]
public class AddMacroUniqueIdColumn : MigrationBase
{
public AddMacroUniqueIdColumn(ISqlSyntaxProvider sqlSyntax, ILogger logger)
public AddMacroUniqueIdColumn(ISqlSyntaxProvider sqlSyntax, ILogger logger)
: base(sqlSyntax, logger)
{ }
@@ -21,7 +21,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSixZero
{
Create.Column("uniqueId").OnTable("cmsMacro").AsGuid().Nullable();
Execute.Code(UpdateMacroGuids);
Alter.Column("uniqueId").OnTable("cmsMacro").AsGuid().NotNullable();
Alter.Table("cmsMacro").AlterColumn("uniqueId").AsGuid().NotNullable();
Create.Index("IX_cmsMacroUniqueId").OnTable("cmsMacro").OnColumn("uniqueId")
.Ascending()
.WithOptions().NonClustered()
@@ -33,7 +33,7 @@ namespace Umbraco.Core.Persistence.Migrations.Upgrades.TargetVersionSevenSixZero
{
Create.Column("uniqueId").OnTable("cmsMacroProperty").AsGuid().Nullable();
Execute.Code(UpdateMacroPropertyGuids);
Alter.Column("uniqueId").OnTable("cmsMacroProperty").AsGuid().NotNullable();
Alter.Table("cmsMacroProperty").AlterColumn("uniqueId").AsGuid().NotNullable();
Create.Index("IX_cmsMacroPropertyUniqueId").OnTable("cmsMacroProperty").OnColumn("uniqueId")
.Ascending()
.WithOptions().NonClustered()

View File

@@ -14,7 +14,6 @@ namespace Umbraco.Tests.Migrations
[TestFixture]
public class AlterMigrationTests
{
[Test]
public void Drop_Foreign_Key()
{
@@ -31,6 +30,64 @@ namespace Umbraco.Tests.Migrations
}
[Test]
public void CreateColumn()
{
var context = new MigrationContext(DatabaseProviders.SqlServerCE, null, Mock.Of<ILogger>());
var migration = new CreateColumnMigration(new SqlCeSyntaxProvider(), Mock.Of<ILogger>());
migration.GetUpExpressions(context);
Assert.That(context.Expressions.Count, Is.EqualTo(1));
Assert.That(context.Expressions.Single().ToString(), Is.EqualTo("ALTER TABLE [bar] ADD [foo] UniqueIdentifier NOT NULL"));
}
[Migration("1.0.0", 0, "Test")]
public class CreateColumnMigration : MigrationBase
{
public CreateColumnMigration(ISqlSyntaxProvider sqlSyntax, ILogger logger)
: base(sqlSyntax, logger)
{ }
public override void Up()
{
Alter.Table("bar").AddColumn("foo").AsGuid();
}
public override void Down()
{ }
}
[Test]
public void AlterColumn()
{
var context = new MigrationContext(DatabaseProviders.SqlServerCE, null, Mock.Of<ILogger>());
var migration = new AlterColumnMigration(new SqlCeSyntaxProvider(), Mock.Of<ILogger>());
migration.GetUpExpressions(context);
Assert.That(context.Expressions.Count, Is.EqualTo(1));
Assert.That(context.Expressions.Single().ToString(), Is.EqualTo("ALTER TABLE [bar] ALTER COLUMN [foo] UniqueIdentifier NOT NULL"));
}
[Migration("1.0.0", 0, "Test")]
public class AlterColumnMigration : MigrationBase
{
public AlterColumnMigration(ISqlSyntaxProvider sqlSyntax, ILogger logger)
: base(sqlSyntax, logger)
{ }
public override void Up()
{
// bad/good syntax...
//Alter.Column("foo").OnTable("bar").AsGuid().NotNullable();
Alter.Table("bar").AlterColumn("foo").AsGuid().NotNullable();
}
public override void Down()
{ }
}
[NUnit.Framework.Ignore("this doesn't actually test anything")]
[Test]
public void Can_Get_Up_Migration_From_MigrationStub()