]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
fix if no revisions occurred, test coverage
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 10 Nov 2011 22:45:03 +0000 (14:45 -0800)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 10 Nov 2011 22:45:03 +0000 (14:45 -0800)
alembic/context.py
tests/test_versioning.py

index 2a6896b3a12605b65718d0e9493809444fbb182d..cef196e49c788db90b96934477bc03c15072e6a5 100644 (file)
@@ -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;")
index 94065686a1d6b4ad45c3d4749fe8a79cff80ccc5..6928c50e3f66eb91b576f5d7a7a123d7d4d39b3b 100644 (file)
@@ -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