Merge remote-tracking branch 'github/pr/14' into pr14
This commit is contained in:
commit
07f9105775
|
@ -377,18 +377,14 @@ def _fk_colspec(fk, metadata_schema):
|
|||
never tries to resolve the remote table.
|
||||
|
||||
"""
|
||||
if metadata_schema is None:
|
||||
return fk._get_colspec()
|
||||
else:
|
||||
colspec = fk._get_colspec()
|
||||
if metadata_schema is not None and colspec.count(".") == 1:
|
||||
# need to render schema breaking up tokens by hand, since the
|
||||
# ForeignKeyConstraint here may not actually have a remote
|
||||
# Table present
|
||||
tokens = fk._colspec.split(".")
|
||||
# no schema in the colspec, render it
|
||||
if len(tokens) == 2:
|
||||
return "%s.%s" % (metadata_schema, fk._colspec)
|
||||
else:
|
||||
return fk._colspec
|
||||
colspec = "%s.%s" % (metadata_schema, colspec)
|
||||
return colspec
|
||||
|
||||
def _render_foreign_key(constraint, autogen_context):
|
||||
rendered = _user_defined_render("foreign_key", constraint, autogen_context)
|
||||
|
|
|
@ -567,6 +567,20 @@ render:primary_key\n)"""
|
|||
"name='fk1', use_alter=True)"
|
||||
)
|
||||
|
||||
def test_render_fk_constraint_w_metadata_schema(self):
|
||||
m = MetaData(schema="foo")
|
||||
t1 = Table('t', m, Column('c', Integer))
|
||||
t2 = Table('t2', m, Column('c_rem', Integer))
|
||||
|
||||
fk = ForeignKeyConstraint([t1.c.c], [t2.c.c_rem], onupdate="CASCADE")
|
||||
if not util.sqla_08:
|
||||
t1.append_constraint(fk)
|
||||
|
||||
eq_ignore_whitespace(
|
||||
re.sub(r"u'", "'", autogenerate.render._render_constraint(fk, self.autogen_context)),
|
||||
"sa.ForeignKeyConstraint(['c'], ['foo.t2.c_rem'], onupdate='CASCADE')"
|
||||
)
|
||||
|
||||
def test_render_check_constraint_literal(self):
|
||||
eq_ignore_whitespace(
|
||||
autogenerate.render._render_check_constraint(
|
||||
|
|
Loading…
Reference in New Issue