diff options
Diffstat (limited to 'alembic/autogenerate/render.py')
-rw-r--r-- | alembic/autogenerate/render.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py index 89dd2f2..a0bc534 100644 --- a/alembic/autogenerate/render.py +++ b/alembic/autogenerate/render.py @@ -194,7 +194,24 @@ def _uq_constraint(constraint, autogen_context, alter): def _add_fk_constraint(constraint, fk_info, autogen_context): - raise NotImplementedError() + args = [repr(_render_gen_name(autogen_context, constraint.name)), + constraint.parent.table.name] + args.extend([vars(fk_info).values()[1], + str(list(vars(fk_info).values()[0])), + str(list(vars(fk_info).values()[2]))]) + return "%(prefix)screate_foreign_key(%(args)s)" % { + 'prefix': _alembic_autogenerate_prefix(autogen_context), + 'args': ", ".join(args) + } + + +def _drop_fk_constraint(constraint, fk_info, autogen_context): + args = [repr(_render_gen_name(autogen_context, constraint.name)), + constraint.parent.table.name, 'type_=foreignkey'] + return "%(prefix)sdrop_constraint(%(args)s)" % { + 'prefix': _alembic_autogenerate_prefix(autogen_context), + 'args': ", ".join(args) + } def _add_pk_constraint(constraint, autogen_context): |