Repaired autogenerate rendering of ForeignKeyConstraint

to include use_alter argument, if present.
This commit is contained in:
Mike Bayer
2013-04-15 11:22:37 -04:00
parent 2a2a7b543b
commit d4a274c2ab
3 changed files with 21 additions and 0 deletions

View File

@@ -677,6 +677,8 @@ def _render_foreign_key(constraint, autogen_context):
opts.append(("initially", repr(constraint.initially)))
if constraint.deferrable:
opts.append(("deferrable", repr(constraint.deferrable)))
if constraint.use_alter:
opts.append(("use_alter", repr(constraint.use_alter)))
apply_metadata_schema = constraint.parent.metadata.schema
return "%(prefix)sForeignKeyConstraint([%(cols)s], "\

View File

@@ -6,6 +6,12 @@ Changelog
.. changelog::
:version: 0.6.0
.. change::
:tags: bug
Repaired autogenerate rendering of ForeignKeyConstraint
to include use_alter argument, if present.
.. change::
:tags: feature
:pullreq: 35

View File

@@ -1092,6 +1092,19 @@ render:primary_key\n)"""
"sa.ForeignKeyConstraint(['c'], ['t2.c_rem'], initially='XYZ')"
)
def test_render_fk_constraint_use_alter(self):
m = MetaData()
Table('t', m, Column('c', Integer))
t2 = Table('t2', m, Column('c_rem', Integer,
ForeignKey('t.c', name="fk1", use_alter=True)))
const = list(t2.foreign_keys)[0].constraint
eq_ignore_whitespace(
autogenerate._render_constraint(const, self.autogen_context),
"sa.ForeignKeyConstraint(['c_rem'], ['t.c'], "
"name='fk1', use_alter=True)"
)
def test_render_check_constraint_literal(self):
eq_ignore_whitespace(
autogenerate._render_check_constraint(