def test_multiapp(self): manager = MigrationManager(self.db, self.db_name, 'test_migrations') new_app = 'wannadie' self._register_do_nothing_migrations(self.app) self._register_do_nothing_migrations(new_app) migrated = manager.migrate(self.app, target_version=1) self.assertTrue(migrated) migrated = manager.migrate(new_app) self.assertTrue(migrated) self.assertEquals(manager.version(self.app), 1) self.assertEquals(manager.version(new_app), 2) self.assertLessEqual(manager.applied_migration(self.app, 1), datetime.now()) self.assertLessEqual(manager.applied_migration(new_app, 2), datetime.now()) self.assertEquals(len(manager.list_migrations(self.app).keys()), 2) self.assertEquals(len(manager.list_migrations(new_app).keys()), 2) for v in manager.migrations.keys(): del manager.migrations[v]
def test_go_forward_and_backwards(self): manager = MigrationManager(self.db, self.db_name, 'test_migrations') self._register_do_nothing_migrations(self.app) migrated = manager.migrate(self.app, target_version=1) self.assertTrue(migrated) self.assertEquals(manager.version(self.app), 1) self.assertLessEqual(manager.applied_migration(self.app, 1), datetime.now()) migrated = manager.migrate(self.app) self.assertTrue(migrated) self.assertEquals(manager.version(self.app), 2) self.assertLessEqual(manager.applied_migration(self.app, 2), datetime.now()) migrated = manager.migrate(self.app) self.assertFalse(migrated) migrated = manager.migrate(self.app, target_version=1) self.assertTrue(migrated) self.assertIsNone(manager.applied_migration(self.app, 2)) migrated = manager.migrate(self.app) self.assertTrue(migrated) migrated = manager.migrate(self.app, target_version=0) self.assertTrue(migrated) self.assertIsNone(manager.version(self.app)) self.assertIsNone(manager.applied_migration(self.app, 1)) self.assertIsNone(manager.applied_migration(self.app, 2)) migrated = manager.migrate(self.app, target_version=0) self.assertFalse(migrated) for v in manager.migrations.keys(): del manager.migrations[v]