コード例 #1
0
        public void TestMigrateMultipleFiles3()
        {
            SqlDatabaseHelper.ClearDatabase();
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);

            var files = new IMigrationFile[] {
                new MigrationFile_03_DropTable(),
                new MigrationFile_01_CreateTable(),
                new MigrationFile_02_AlterTable(),
                new MigrationFile_04_AddColumn(),
                new MigrationFile_07_RenameColumn(),
                new MigrationFile_05_AlterColumn(),
                new MigrationFile_06_DropColumn(),
                new MigrationFile_08_TableExists(),
                new MigrationFile_10_CreatePrimaryKey(),
                new MigrationFile_09_RenameTable(),
                new MigrationFile_13_DropConstraint(),
                new MigrationFile_11_CreateForeignKey(),
                new MigrationFile_12_CreateUnique()
            };
            string s = migrator.Migrate(files).EndId;

            Assert.AreEqual("13_01", s);

            migrator.Dispose();
        }
コード例 #2
0
        static void Main(string[] args)
        {
            string             connection = @"Server=.\SQLEXPRESS;Database=MigTest1;Trusted_Connection=True;";
            Sql2008Migrator    migrator   = new Sql2008Migrator(connection);
            MigrationFileTest1 file1      = new MigrationFileTest1();
            string             lastId     = migrator.Migrate(file1);

            Console.ReadKey();
        }
コード例 #3
0
        public void Test_08_TableExists()
        {
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);
            string          s        = migrator.Migrate(new MigrationFile_08_TableExists()).EndId;

            Assert.AreEqual("08_01", s);
            s = migrator.Migrate(new MigrationFile_08_TableExists()).EndId;
            Assert.AreEqual("08_01", s);
            migrator.Dispose();
        }
コード例 #4
0
        public void Test_07_RenameColumn()
        {
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);
            string          s        = migrator.Migrate(new MigrationFile_07_RenameColumn()).EndId;

            Assert.AreEqual("07_02_RenameColumn", s);
            s = migrator.Migrate(new MigrationFile_07_RenameColumn()).EndId;
            Assert.AreEqual("07_02_RenameColumn", s);
            migrator.Dispose();
        }
コード例 #5
0
        public void Test_13_DropConstraint()
        {
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);
            string          s        = migrator.Migrate(new MigrationFile_13_DropConstraint()).EndId;

            Assert.AreEqual("13_01", s);
            s = migrator.Migrate(new MigrationFile_13_DropConstraint()).EndId;
            Assert.AreEqual("13_01", s);
            migrator.Dispose();
        }
コード例 #6
0
        public void Test_12_CreateUnique()
        {
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);
            string          s        = migrator.Migrate(new MigrationFile_12_CreateUnique()).EndId;

            Assert.AreEqual("12_02", s);
            s = migrator.Migrate(new MigrationFile_12_CreateUnique()).EndId;
            Assert.AreEqual("12_02", s);
            migrator.Dispose();
        }
コード例 #7
0
        public void Test_03_DropTable()
        {
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);

            string s = migrator.Migrate(new MigrationFile_03_DropTable()).EndId;

            Assert.AreEqual("03_02_DropTable2", s);
            s = migrator.Migrate(new MigrationFile_01_CreateTable()).EndId;
            Assert.AreEqual("03_02_DropTable2", s);
            migrator.Dispose();
        }
コード例 #8
0
        public void TestMigrateAssembly()
        {
            SqlDatabaseHelper.ClearDatabase();
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);

            var    assembly = this.GetType().Assembly;
            string s        = migrator.Migrate(assembly, "DatabaseAutoMigrator.Tests.TestFiles").EndId;

            Assert.AreEqual("13_01", s);

            s = migrator.Migrate(assembly, "DatabaseAutoMigrator.Tests.TestFiles").EndId;
            Assert.AreEqual("13_01", s);

            migrator.Dispose();
        }
コード例 #9
0
        public void TestMigrateResult()
        {
            SqlDatabaseHelper.ClearDatabase();
            Sql2008Migrator migrator = new Sql2008Migrator(SqlDatabaseHelper.DefaultConnectionString);

            var result = migrator.Migrate(new MigrationFile_MigrateResult());

            Assert.AreEqual("", result.StartId);
            Assert.AreEqual("99_Error2", result.EndId);
            Assert.IsTrue(result.Duration.Ticks > 0);
            Assert.AreEqual(3, result.Executed.Count);
            Assert.AreEqual(1, result.NotExecuted.Count);

            Assert.IsTrue(result.Executed[0].Duration.Ticks > 0);
            Assert.IsTrue(result.Executed[0].Success);
            Assert.IsNull(result.Executed[0].Error);
            Assert.AreEqual("DatabaseAutoMigrator.Tests.TestFiles.MigrationFile_MigrateResult", result.Executed[0].File);
            Assert.AreEqual("Migrate_99_Error1", result.Executed[0].MethodName);

            Assert.IsTrue(result.Executed[2].Duration.Ticks > 0);
            Assert.IsFalse(result.Executed[2].Success);
            Assert.IsNotNull(result.Executed[2].Error);
            Assert.AreEqual("DatabaseAutoMigrator.Tests.TestFiles.MigrationFile_MigrateResult", result.Executed[2].File);
            Assert.AreEqual("Migrate_99_Error3", result.Executed[2].MethodName);

            Assert.IsFalse(result.NotExecuted[0].Success);
            Assert.IsNull(result.NotExecuted[0].Error);
            Assert.AreEqual("DatabaseAutoMigrator.Tests.TestFiles.MigrationFile_MigrateResult", result.NotExecuted[0].File);
            Assert.AreEqual("Migrate_99_Error4", result.NotExecuted[0].MethodName);

            result = migrator.Migrate(new MigrationFile_MigrateResult());
            Assert.AreEqual("99_Error2", result.StartId);
            Assert.AreEqual("99_Error2", result.EndId);
            Assert.IsTrue(result.Duration.Ticks > 0);
            Assert.AreEqual(1, result.Executed.Count);
            Assert.AreEqual(1, result.NotExecuted.Count);

            migrator.Dispose();
        }