]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
share imports among multi runs in one set
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 28 Nov 2011 15:15:26 +0000 (10:15 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 28 Nov 2011 15:15:26 +0000 (10:15 -0500)
alembic/autogenerate.py
alembic/command.py
tests/test_autogenerate.py

index 4f81dd7da1fd53a38c0ffd9d5631a334bfc60fca..62462b25b387dc46ff9074f00125c28be0cfa4a4 100644 (file)
@@ -13,7 +13,7 @@ log = logging.getLogger(__name__)
 ###################################################
 # top level
 
-def produce_migration_diffs(template_args):
+def produce_migration_diffs(template_args, imports):
     metadata = _context_opts['autogenerate_metadata']
     if metadata is None:
         raise util.CommandError(
@@ -22,7 +22,6 @@ def produce_migration_diffs(template_args):
                 "a MetaData object to the context.")
     connection = get_bind()
     diffs = []
-    imports = set()
     _produce_net_changes(connection, metadata, diffs)
     _set_upgrade(template_args, _indent(_produce_upgrade_commands(diffs, imports)))
     _set_downgrade(template_args, _indent(_produce_downgrade_commands(diffs, imports)))
index ed672b834699d0e82f79e174728a0a3a52945f1b..a3598ac7f2a8bc8708a86a6b383a4bb263191bbf 100644 (file)
@@ -64,11 +64,12 @@ def revision(config, message=None, autogenerate=False):
 
     script = ScriptDirectory.from_config(config)
     template_args = {}
+    imports = set()
     if autogenerate:
         def retrieve_migrations(rev):
             if script._get_rev(rev) is not script._get_rev("head"):
                 raise util.CommandError("Target database is not up to date.")
-            autogen.produce_migration_diffs(template_args)
+            autogen.produce_migration_diffs(template_args, imports)
             return []
 
         context._opts(
index 7fd6ea4fa4528f752f695b75a7f73f53fb7f1ffc..bc8cfea0958b8a6111e0694f92dd8a1ac40267ab 100644 (file)
@@ -132,7 +132,7 @@ class AutogenerateDiffTest(TestCase):
         context.configure(
             connection=connection, 
             autogenerate_metadata=metadata)
-        autogenerate.produce_migration_diffs(template_args)
+        autogenerate.produce_migration_diffs(template_args, set())
         eq_(template_args['upgrades'],
 """### commands auto generated by Alembic - please adjust! ###
     create_table('item',