summaryrefslogtreecommitdiff
path: root/alembic/autogenerate/render.py
diff options
context:
space:
mode:
Diffstat (limited to 'alembic/autogenerate/render.py')
-rw-r--r--alembic/autogenerate/render.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py
index 422506d..a90f929 100644
--- a/alembic/autogenerate/render.py
+++ b/alembic/autogenerate/render.py
@@ -29,13 +29,19 @@ def _indent(text):
return text
-def _render_migration_script(autogen_context, migration_script, template_args):
- opts = autogen_context.opts
- imports = autogen_context._imports
- template_args[opts['upgrade_token']] = _indent(_render_cmd_body(
- migration_script.upgrade_ops, autogen_context))
- template_args[opts['downgrade_token']] = _indent(_render_cmd_body(
- migration_script.downgrade_ops, autogen_context))
+def _render_python_into_templatevars(
+ autogen_context, migration_script, template_args):
+ imports = migration_script.imports
+
+ upgrade_ops_list = util.to_list(migration_script.upgrade_ops)
+ downgrade_ops_list = util.to_list(migration_script.downgrade_ops)
+
+ for upgrade_ops, downgrade_ops in zip(
+ upgrade_ops_list, downgrade_ops_list):
+ template_args[upgrade_ops.upgrade_token] = _indent(
+ _render_cmd_body(upgrade_ops, autogen_context))
+ template_args[downgrade_ops.downgrade_token] = _indent(
+ _render_cmd_body(downgrade_ops, autogen_context))
template_args['imports'] = "\n".join(sorted(imports))