From: Ann Kamyshnikova Date: Thu, 13 Nov 2014 13:26:54 +0000 (+0300) Subject: Some refactor of _add_fk_constraint X-Git-Tag: rel_0_7_1~11^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d157394db10dc8fb2519a49acfa480d516e26301;p=thirdparty%2Fsqlalchemy%2Falembic.git Some refactor of _add_fk_constraint --- diff --git a/alembic/autogenerate/render.py b/alembic/autogenerate/render.py index a0bc5349..aa576778 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)