diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-05 16:54:31 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-02-05 16:54:31 -0500 |
| commit | c5dccd82dabffa1b01d1e2852c96684b559528c2 (patch) | |
| tree | 97c785bac4fd2ac29f2f5e7566ae4ac89dd73321 /test/sql | |
| parent | d006198e17fcbed65d88aeaa940ce512e95a6fff (diff) | |
| download | sqlalchemy-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.py | 22 |
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_" |
