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(); }
public MigrationResult Migrate(IMigrationFile migrationFile) { Logger.Log("starting migration from single file", "migrate"); var methods = migrationFile.GetType().GetMethods(BindingFlags.Public | BindingFlags.Instance); var allMigrations = (from m in methods where m.Name.StartsWith("Migrate_") select new MigrateIteration() { File = migrationFile, Id = m.Name.Remove(0, "Migrate_".Length), Method = m }); return(migrateMethods(allMigrations)); }