summaryrefslogtreecommitdiff
path: root/alembic/autogenerate/compare.py
diff options
context:
space:
mode:
Diffstat (limited to 'alembic/autogenerate/compare.py')
-rw-r--r--alembic/autogenerate/compare.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/alembic/autogenerate/compare.py b/alembic/autogenerate/compare.py
index cc12dae..d97bc62 100644
--- a/alembic/autogenerate/compare.py
+++ b/alembic/autogenerate/compare.py
@@ -16,8 +16,15 @@ log = logging.getLogger(__name__)
def _populate_migration_script(autogen_context, migration_script):
- _produce_net_changes(autogen_context, migration_script.upgrade_ops)
- migration_script.upgrade_ops.reverse_into(migration_script.downgrade_ops)
+ if isinstance(migration_script.upgrade_ops, list):
+ upgrade_ops = migration_script.upgrade_ops[-1]
+ downgrade_ops = migration_script.downgrade_ops[-1]
+ else:
+ upgrade_ops = migration_script.upgrade_ops
+ downgrade_ops = migration_script.downgrade_ops
+
+ _produce_net_changes(autogen_context, upgrade_ops)
+ upgrade_ops.reverse_into(downgrade_ops)
comparators = util.Dispatcher(uselist=True)