diff options
author | Ann Kamyshnikova <akamyshnikova@mirantis.com> | 2014-11-13 16:26:54 +0300 |
---|---|---|
committer | Ann Kamyshnikova <akamyshnikova@mirantis.com> | 2014-11-13 16:26:54 +0300 |
commit | d157394db10dc8fb2519a49acfa480d516e26301 (patch) | |
tree | 612429a095d7ed5fb00d0f0d3a0fc87a91aa15a5 | |
parent | 6cc54aab2085b3cc676baf5061c034184d4c06e5 (diff) | |
download | alembic-d157394db10dc8fb2519a49acfa480d516e26301.tar.gz |
Some refactor of _add_fk_constraint
-rw-r--r-- | alembic/autogenerate/render.py | 17 |
1 files 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) |