private void Test(Action<Database> action, Action<Database> assertAction) { using (var context = new RafyDbMigrationContext(UnitTestEntityRepositoryDataProvider.DbSettingName)) { context.HistoryRepository = new DbHistoryRepository(); context.RunDataLossOperation = DataLossOperation.All; var destination = context.ClassMetaReader.Read(); action(destination); try { context.MigrateTo(destination); var result = context.DatabaseMetaReader.Read(); assertAction(result); } finally { context.RollbackAll(RollbackAction.DeleteHistory); } } }
public void DMT_DataLoss_DropTable() { using (var context = new RafyDbMigrationContext(UnitTestEntityRepositoryDataProvider.DbSettingName)) { context.HistoryRepository = new DbHistoryRepository(); var destination = context.ClassMetaReader.Read(); var taskTable = destination.FindTable("Task"); destination.Tables.Remove(taskTable); try { context.MigrateTo(destination); var result = context.DatabaseMetaReader.Read(); var resultTable = result.FindTable("Task"); Assert.IsTrue(resultTable != null); } finally { context.RollbackAll(RollbackAction.DeleteHistory); } } }