diff options
Diffstat (limited to 'alembic/autogenerate/render.py')
-rw-r--r-- | alembic/autogenerate/render.py | 20 |
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)) |