public void VerifyThatMigrationVersionsWork() { MigrationEngine.Reset(); MigrationEngine.Migrate(excludes: new List<string>() { "BadMigration", "BadSeed", "BadSave", "BadReverse" }); Assert.IsTrue(DatabaseSession.Instance.Connector.CheckTableExists(new Migration())); Assert.AreEqual(4, Migration.All().Count); MigrationEngine.ResetTo(new Version(1,0,0)); Assert.AreEqual(3, Migration.All().Count); MigrationEngine.Reset(); MigrationEngine.Migrate(excludes: new List<string>() { "BadMigration", "BadSeed", "BadSave" }); Assert.IsTrue(DatabaseSession.Instance.Connector.CheckTableExists(new Migration())); Assert.AreEqual(5, Migration.All().Count); var migrationDeleteBase = new BadMigration(); Assert.Throws<InvalidDataException>(() => migrationDeleteBase.Delete()); Assert.Throws<Exception>(() => MigrationEngine.ResetTo(new Version(0, 0, 0))); MigrationEngine.Reset(hard: true); Assert.IsFalse(DatabaseSession.Instance.Connector.CheckTableExists(new Migration())); }
public void VerifyThatMigrationVersionsWork() { MigrationEngine.Reset(); MigrationEngine.Migrate(excludes: new List <string>() { "BadMigration", "BadSeed", "BadSave", "BadReverse" }); Assert.IsTrue(DatabaseSession.Instance.Connector.CheckTableExists(new MigrationRecord())); Assert.AreEqual(4, MigrationRecord.All().Count); MigrationEngine.ResetTo(new Version(1, 0, 0)); Assert.AreEqual(3, MigrationRecord.All().Count); MigrationEngine.Reset(); MigrationEngine.Migrate(excludes: new List <string>() { "BadMigration", "BadSeed", "BadSave" }); Assert.IsTrue(DatabaseSession.Instance.Connector.CheckTableExists(new MigrationRecord())); Assert.AreEqual(5, MigrationRecord.All().Count); var migrationDeleteBase = new BadMigration(); Assert.Throws <InvalidDataException>(() => migrationDeleteBase.Delete()); Assert.Throws <Exception>(() => MigrationEngine.ResetTo(new Version(0, 0, 0))); MigrationEngine.Reset(hard: true); Assert.IsFalse(DatabaseSession.Instance.Connector.CheckTableExists(new MigrationRecord())); }