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.py19
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):