From 6b0e12fd6f50a75750daf71ddff4bf32565fdf86 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 13 Mar 2017 11:20:53 -0400 Subject: Normalize Oracle reflected FK constraint name Oracle reflection now "normalizes" the name given to a foreign key constraint, that is, returns it as all lower case for a case insensitive name. This was already the behavior for indexes and primary key constraints as well as all table and column names. This will allow Alembic autogenerate scripts to compare and render foreign key constraint names correctly when initially specified as case insensitive. Change-Id: Ibb34ec6ce7cb244d1c4ae9d44ce2d37d37227e69 Fixes: #3276 --- lib/sqlalchemy/testing/suite/test_reflection.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/sqlalchemy/testing') diff --git a/lib/sqlalchemy/testing/suite/test_reflection.py b/lib/sqlalchemy/testing/suite/test_reflection.py index ed6a33b6d..572cc4a0a 100644 --- a/lib/sqlalchemy/testing/suite/test_reflection.py +++ b/lib/sqlalchemy/testing/suite/test_reflection.py @@ -70,7 +70,8 @@ class ComponentReflectionTest(fixtures.TablesTest): Column('test2', sa.Float(5), nullable=False), Column('parent_user_id', sa.Integer, sa.ForeignKey('%susers.user_id' % - schema_prefix)), + schema_prefix, + name='user_id_fk')), schema=schema, test_needs_fk=True, ) @@ -444,7 +445,7 @@ class ComponentReflectionTest(fixtures.TablesTest): fkey1 = users_fkeys[0] with testing.requires.named_constraints.fail_if(): - self.assert_(fkey1['name'] is not None) + eq_(fkey1['name'], "user_id_fk") eq_(fkey1['referred_schema'], expected_schema) eq_(fkey1['referred_table'], users.name) @@ -457,7 +458,7 @@ class ComponentReflectionTest(fixtures.TablesTest): schema=schema) fkey1 = addr_fkeys[0] - with testing.requires.named_constraints.fail_if(): + with testing.requires.implicitly_named_constraints.fail_if(): self.assert_(fkey1['name'] is not None) eq_(fkey1['referred_schema'], expected_schema) -- cgit v1.2.1