summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnn Kamyshnikova <akamyshnikova@mirantis.com>2014-11-13 16:26:54 +0300
committerAnn Kamyshnikova <akamyshnikova@mirantis.com>2014-11-13 16:26:54 +0300
commitd157394db10dc8fb2519a49acfa480d516e26301 (patch)
tree612429a095d7ed5fb00d0f0d3a0fc87a91aa15a5
parent6cc54aab2085b3cc676baf5061c034184d4c06e5 (diff)
downloadalembic-d157394db10dc8fb2519a49acfa480d516e26301.tar.gz
Some refactor of _add_fk_constraint
-rw-r--r--alembic/autogenerate/render.py17
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)