Beispiel #1
0
        [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);
            }
        }