private void RunMigration(MigrationPlanStep step) { var migrationInfo = step.MigrationInfo; if (!migrationInfo.MigratesFor(_databaseKind)) { Log.Info(String.Format(" -> [{0}] {1} {2}() NOT PERFORMED for database {3}", migrationInfo.Version, migrationInfo.Name, step.Direction, _databaseKind)); UpdateCurrentVersion(step); return; } Log.Info(String.Format(" -> [{0}] {1} {2}()", migrationInfo.Version, migrationInfo.Name, step.Direction)); var migration = _migrationFactory.CreateMigration(migrationInfo.MigrationType); if (step.Direction == Direction.Up) { migration.Up(); } else { migration.Down(); } UpdateCurrentVersion(step); }
private void CreateMigrationsToRun() { List<Type> migrationTypes = GetMigrationTypes(); MigrationsToRun = new List<Migration>(); var factory = new MigrationFactory(_dataClient); foreach (Type type in migrationTypes) { Migration migration = factory.CreateMigration(type); MigrationsToRun.Add(migration); } }