summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-02-05 16:54:31 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2014-02-05 16:54:31 -0500
commitc5dccd82dabffa1b01d1e2852c96684b559528c2 (patch)
tree97c785bac4fd2ac29f2f5e7566ae4ac89dd73321 /test/sql
parentd006198e17fcbed65d88aeaa940ce512e95a6fff (diff)
downloadsqlalchemy-c5dccd82dabffa1b01d1e2852c96684b559528c2.tar.gz
- Fixed regression in new "naming convention" feature where conventions
would fail if the referred table in a foreign key contained a schema name. Pull request courtesy Thomas Farvour. pullreq github:67
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_metadata.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py
index dd3f4fc3d..7380732af 100644
--- a/test/sql/test_metadata.py
+++ b/test/sql/test_metadata.py
@@ -2523,13 +2523,14 @@ class DialectKWArgTest(fixtures.TestBase):
"participating_z_one": "default"})
class NamingConventionTest(fixtures.TestBase):
- def _fixture(self, naming_convention):
+ def _fixture(self, naming_convention, table_schema=None):
m1 = MetaData(naming_convention=naming_convention)
u1 = Table('user', m1,
Column('id', Integer, primary_key=True),
Column('version', Integer, primary_key=True),
- Column('data', String(30))
+ Column('data', String(30)),
+ schema=table_schema
)
return u1
@@ -2555,6 +2556,23 @@ class NamingConventionTest(fixtures.TestBase):
CheckConstraint, u1.c.data == 'x'
)
+ def test_fk_name_schema(self):
+ u1 = self._fixture(naming_convention={
+ "fk": "fk_%(table_name)s_%(column_0_name)s_"
+ "%(referred_table_name)s_%(referred_column_0_name)s"
+ }, table_schema="foo")
+ m1 = u1.metadata
+ a1 = Table('address', m1,
+ Column('id', Integer, primary_key=True),
+ Column('user_id', Integer),
+ Column('user_version_id', Integer)
+ )
+ fk = ForeignKeyConstraint(['user_id', 'user_version_id'],
+ ['foo.user.id', 'foo.user.version'])
+ a1.append_constraint(fk)
+ eq_(fk.name, "fk_address_user_id_user_id")
+
+
def test_fk_attrs(self):
u1 = self._fixture(naming_convention={
"fk": "fk_%(table_name)s_%(column_0_name)s_"