summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_metadata.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py
index f7480d11a..b175f9663 100644
--- a/test/sql/test_metadata.py
+++ b/test/sql/test_metadata.py
@@ -5345,6 +5345,29 @@ class NamingConventionTest(fixtures.TestBase, AssertsCompiledSQL):
a1.append_constraint(fk)
eq_(fk.name, "fk_address_user_id_user_id")
+ @testing.combinations(True, False, argnames="col_has_type")
+ def test_fk_ref_local_referent_has_no_type(self, col_has_type):
+ """test #7958"""
+
+ metadata = MetaData(
+ naming_convention={
+ "fk": "fk_%(referred_column_0_name)s",
+ }
+ )
+ Table("a", metadata, Column("id", Integer, primary_key=True))
+ b = Table(
+ "b",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ Column("aid", ForeignKey("a.id"))
+ if not col_has_type
+ else Column("aid", Integer, ForeignKey("a.id")),
+ )
+ fks = list(
+ c for c in b.constraints if isinstance(c, ForeignKeyConstraint)
+ )
+ eq_(fks[0].name, "fk_id")
+
def test_custom(self):
def key_hash(const, table):
return "HASH_%s" % table.name