From d157394db10dc8fb2519a49acfa480d516e26301 Mon Sep 17 00:00:00 2001 From: Ann Kamyshnikova Date: Thu, 13 Nov 2014 16:26:54 +0300 Subject: Some refactor of _add_fk_constraint --- alembic/autogenerate/render.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py index a0bc534..aa57677 100644 --- a/alembic/autogenerate/render.py +++ b/alembic/autogenerate/render.py @@ -194,11 +194,18 @@ def _uq_constraint(constraint, autogen_context, alter): def _add_fk_constraint(constraint, fk_info, autogen_context): - 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]))]) + args = [ + repr(_render_gen_name(autogen_context, constraint.name)), + constraint.parent.table.name, + fk_info.referred_table, + str(list(fk_info.constrained_columns)), + str(list(fk_info.referred_columns)), + "%s=%r" % ('schema', constraint.parent.table.schema), + ] + if constraint.deferrable: + args.append("%s=%r" % ("deferrable", str(constraint.deferrable))) + if constraint.initially: + args.append("%s=%r" % ("initially", str(constraint.initially))) return "%(prefix)screate_foreign_key(%(args)s)" % { 'prefix': _alembic_autogenerate_prefix(autogen_context), 'args': ", ".join(args) -- cgit v1.2.1