]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Print message to each upgrade/downgrade step
authorHong Minhee <minhee@dahlia.kr>
Sat, 30 Mar 2013 20:49:55 +0000 (05:49 +0900)
committerHong Minhee <minhee@dahlia.kr>
Sat, 30 Mar 2013 20:49:55 +0000 (05:49 +0900)
alembic/migration.py
alembic/script.py
tests/test_revision_paths.py

index e06b01e2b7833565a6b4a374c62c1d64fbfa6bcf..000a0c5d2c8fc5dd24b73fc55f58027c4e3499e7 100644 (file)
@@ -194,14 +194,18 @@ class MigrationContext(object):
         """
         current_rev = rev = False
         self.impl.start_migrations()
-        for change, prev_rev, rev in self._migrations_fn(
-                                        self.get_current_revision(),
-                                        self):
+        for change, prev_rev, rev, doc in self._migrations_fn(
+                                            self.get_current_revision(),
+                                            self):
             if current_rev is False:
                 current_rev = prev_rev
                 if self.as_sql and not current_rev:
                     self._version.create(self.connection)
-            log.info("Running %s %s -> %s", change.__name__, prev_rev, rev)
+            if doc:
+                log.info("Running %s %s -> %s, %s", change.__name__, prev_rev,
+                    rev, doc)
+            else:
+                log.info("Running %s %s -> %s", change.__name__, prev_rev, rev)
             if self.as_sql:
                 self.impl.static_output(
                         "-- Running %s %s -> %s" %
index 68d266ea7779fd063fdde7dc139715cfdadd7e0e..2fbccae5457ab8dff4ed835b9121d44ece75feca 100644 (file)
@@ -168,14 +168,16 @@ class ScriptDirectory(object):
     def _upgrade_revs(self, destination, current_rev):
         revs = self.iterate_revisions(destination, current_rev)
         return [
-            (script.module.upgrade, script.down_revision, script.revision)
+            (script.module.upgrade, script.down_revision, script.revision,
+                script.doc)
             for script in reversed(list(revs))
             ]
 
     def _downgrade_revs(self, destination, current_rev):
         revs = self.iterate_revisions(current_rev, destination)
         return [
-            (script.module.downgrade, script.revision, script.down_revision)
+            (script.module.downgrade, script.revision, script.down_revision,
+                script.doc)
             for script in revs
             ]
 
@@ -374,7 +376,8 @@ class Script(object):
     @property
     def doc(self):
         """Return the docstring given in the script."""
-        return re.split(r"\n\n", self.module.__doc__)[0]
+        if self.module.__doc__:
+            return re.split(r"\n\n", self.module.__doc__)[0]
 
     def add_nextrev(self, rev):
         self.nextrev = self.nextrev.union([rev])
index cfb4affad48c85296298950572ed4a95e5685a07..9492f742e9fcc544a37133849575d3e3087dcf60 100644 (file)
@@ -10,11 +10,11 @@ def setup():
     global env
     env = staging_env()
     global a, b, c, d, e
-    a = env.generate_revision(util.rev_id(), None, refresh=True)
-    b = env.generate_revision(util.rev_id(), None, refresh=True)
-    c = env.generate_revision(util.rev_id(), None, refresh=True)
-    d = env.generate_revision(util.rev_id(), None, refresh=True)
-    e = env.generate_revision(util.rev_id(), None, refresh=True)
+    a = env.generate_revision(util.rev_id(), '->a', refresh=True)
+    b = env.generate_revision(util.rev_id(), 'a->b', refresh=True)
+    c = env.generate_revision(util.rev_id(), 'b->c', refresh=True)
+    d = env.generate_revision(util.rev_id(), 'c->d', refresh=True)
+    e = env.generate_revision(util.rev_id(), 'd->e', refresh=True)
 
 def teardown():
     clear_staging_env()
@@ -25,17 +25,17 @@ def test_upgrade_path():
     eq_(
         env._upgrade_revs(e.revision, c.revision),
         [
-            (d.module.upgrade, c.revision, d.revision),
-            (e.module.upgrade, d.revision, e.revision),
+            (d.module.upgrade, c.revision, d.revision, d.doc),
+            (e.module.upgrade, d.revision, e.revision, e.doc),
         ]
     )
 
     eq_(
         env._upgrade_revs(c.revision, None),
         [
-            (a.module.upgrade, None, a.revision),
-            (b.module.upgrade, a.revision, b.revision),
-            (c.module.upgrade, b.revision, c.revision),
+            (a.module.upgrade, None, a.revision, a.doc),
+            (b.module.upgrade, a.revision, b.revision, b.doc),
+            (c.module.upgrade, b.revision, c.revision, c.doc),
         ]
     )
 
@@ -43,24 +43,24 @@ def test_relative_upgrade_path():
     eq_(
         env._upgrade_revs("+2", a.revision),
         [
-            (b.module.upgrade, a.revision, b.revision),
-            (c.module.upgrade, b.revision, c.revision),
+            (b.module.upgrade, a.revision, b.revision, b.doc),
+            (c.module.upgrade, b.revision, c.revision, c.doc),
         ]
     )
 
     eq_(
         env._upgrade_revs("+1", a.revision),
         [
-            (b.module.upgrade, a.revision, b.revision),
+            (b.module.upgrade, a.revision, b.revision, b.doc),
         ]
     )
 
     eq_(
         env._upgrade_revs("+3", b.revision),
         [
-            (c.module.upgrade, b.revision, c.revision),
-            (d.module.upgrade, c.revision, d.revision),
-            (e.module.upgrade, d.revision, e.revision),
+            (c.module.upgrade, b.revision, c.revision, c.doc),
+            (d.module.upgrade, c.revision, d.revision, d.doc),
+            (e.module.upgrade, d.revision, e.revision, e.doc),
         ]
     )
 
@@ -82,17 +82,17 @@ def test_downgrade_path():
     eq_(
         env._downgrade_revs(c.revision, e.revision),
         [
-            (e.module.downgrade, e.revision, e.down_revision),
-            (d.module.downgrade, d.revision, d.down_revision),
+            (e.module.downgrade, e.revision, e.down_revision, e.doc),
+            (d.module.downgrade, d.revision, d.down_revision, d.doc),
         ]
     )
 
     eq_(
         env._downgrade_revs(None, c.revision),
         [
-            (c.module.downgrade, c.revision, c.down_revision),
-            (b.module.downgrade, b.revision, b.down_revision),
-            (a.module.downgrade, a.revision, a.down_revision),
+            (c.module.downgrade, c.revision, c.down_revision, c.doc),
+            (b.module.downgrade, b.revision, b.down_revision, b.doc),
+            (a.module.downgrade, a.revision, a.down_revision, a.doc),
         ]
     )
 
@@ -100,16 +100,16 @@ def test_relative_downgrade_path():
     eq_(
         env._downgrade_revs("-1", c.revision),
         [
-            (c.module.downgrade, c.revision, c.down_revision),
+            (c.module.downgrade, c.revision, c.down_revision, c.doc),
         ]
     )
 
     eq_(
         env._downgrade_revs("-3", e.revision),
         [
-            (e.module.downgrade, e.revision, e.down_revision),
-            (d.module.downgrade, d.revision, d.down_revision),
-            (c.module.downgrade, c.revision, c.down_revision),
+            (e.module.downgrade, e.revision, e.down_revision, e.doc),
+            (d.module.downgrade, d.revision, d.down_revision, d.doc),
+            (c.module.downgrade, c.revision, c.down_revision, c.doc),
         ]
     )