From: Mike Bayer Date: Thu, 10 Nov 2011 22:45:03 +0000 (-0800) Subject: fix if no revisions occurred, test coverage X-Git-Tag: rel_0_1_0~63 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8d2857a482f22cd1099c48ef5802de35fc0f59ad;p=thirdparty%2Fsqlalchemy%2Falembic.git fix if no revisions occurred, test coverage --- diff --git a/alembic/context.py b/alembic/context.py index 2a6896b3..cef196e4 100644 --- a/alembic/context.py +++ b/alembic/context.py @@ -74,7 +74,7 @@ class DefaultContext(object): if self.as_sql and self.transactional_ddl: self.static_output("BEGIN;") - current_rev = False + current_rev = rev = False for change, prev_rev, rev in self._migrations_fn( self._current_rev() if not self.as_sql else None): @@ -88,11 +88,12 @@ class DefaultContext(object): self._update_current_rev(prev_rev, rev) prev_rev = rev - if self.transactional_ddl: - self._update_current_rev(current_rev, rev) + if rev is not False: + if self.transactional_ddl: + self._update_current_rev(current_rev, rev) - if self.as_sql and not rev: - _version.drop(self.connection) + if self.as_sql and not rev: + _version.drop(self.connection) if self.as_sql and self.transactional_ddl: self.static_output("COMMIT;") diff --git a/tests/test_versioning.py b/tests/test_versioning.py index 94065686..6928c50e 100644 --- a/tests/test_versioning.py +++ b/tests/test_versioning.py @@ -81,6 +81,10 @@ def test_005_upgrade(): assert db.dialect.has_table(db.connect(), 'bar') assert not db.dialect.has_table(db.connect(), 'bat') +def test_006_upgrade_again(): + command.upgrade(cfg, b) + + # TODO: test some invalid movements