[Fact] // CodePlex 529 public void Creating_database_using_initializer_does_nothing_if_Migrations_configuration_if_available() { // Make sure initializer does nothing... using (var context = new UpDownUpContext()) { context.Database.Delete(); context.Database.Initialize(force: true); // True not necessary here, but want to given initializer every chance to run! Assert.False(context.Database.Exists()); } // ...but Migrations works fine new DbMigrator(new UpDownUpMigrationsConfig()).Update(); using (var context = new UpDownUpContext()) { var upDownUpEntity = context.Entities.Single(); Assert.Equal("Cab", upDownUpEntity.Name); Assert.Equal("For Cutie", upDownUpEntity.Extra); var migrations = context.Database.SqlQuery <MigrationRow>("select * from __MigrationHistory").ToList(); Assert.Equal(2, migrations.Count); Assert.True(migrations.All(m => m.ContextKey == typeof(UpDownUpMigrationsConfig).ToString())); Assert.Equal("201303090309299_Test", migrations[0].MigrationId); Assert.Equal("201303101635379_Second", migrations[1].MigrationId); } }
[Fact] // CodePlex 529 public void Creating_database_using_initializer_throws_if_Migrations_configuration_is_available() { // Make sure initializer does nothing... using (var context = new UpDownUpContext()) { context.Database.Delete(); Assert.Throws <InvalidOperationException>(() => context.Database.Initialize(force: true)) .ValidateMessage("DatabaseInitializationStrategy_MigrationsEnabled", "UpDownUpContext"); Assert.False(context.Database.Exists()); } // ...but Migrations works fine new DbMigrator(new UpDownUpMigrationsConfig()).Update(); using (var context = new UpDownUpContext()) { var upDownUpEntity = context.Entities.Single(); Assert.Equal("Cab", upDownUpEntity.Name); Assert.Equal("For Cutie", upDownUpEntity.Extra); var migrations = context.Database.SqlQuery <MigrationRow>("select * from __MigrationHistory").ToList(); Assert.Equal(2, migrations.Count); Assert.True(migrations.All(m => m.ContextKey == typeof(UpDownUpMigrationsConfig).ToString())); Assert.Equal("201303090309299_Test", migrations[0].MigrationId); Assert.Equal("201303101635379_Second", migrations[1].MigrationId); } }