From: Mike Bayer Date: Tue, 8 Oct 2013 23:25:28 +0000 (-0400) Subject: Non-working "schema" argument on :class:`.ForeignKey` is deprecated; X-Git-Tag: rel_0_8_3~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c1a69ab841e728061dd890dd02e6ce6be2970473;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Non-working "schema" argument on :class:`.ForeignKey` is deprecated; raises a warning. Removed in 0.9. [ticket:2831] --- diff --git a/doc/build/changelog/changelog_08.rst b/doc/build/changelog/changelog_08.rst index 0cfeedf8d8..54e10ec64a 100644 --- a/doc/build/changelog/changelog_08.rst +++ b/doc/build/changelog/changelog_08.rst @@ -10,6 +10,13 @@ .. changelog:: :version: 0.8.3 + .. change:: + :tags: bug, sql + :tickets: 2831 + + Non-working "schema" argument on :class:`.ForeignKey` is deprecated; + raises a warning. Removed in 0.9. + .. change:: :tags: bug, postgresql :tickets: 2819 diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py index 863c756bd8..641650d32a 100644 --- a/lib/sqlalchemy/schema.py +++ b/lib/sqlalchemy/schema.py @@ -1300,6 +1300,8 @@ class ForeignKey(SchemaItem): DDL for this constraint. Typical values include SIMPLE, PARTIAL and FULL. + :param schema: Deprecated; this flag does nothing and will be removed + in 0.9. """ self._colspec = column @@ -1320,6 +1322,12 @@ class ForeignKey(SchemaItem): self.link_to_name = link_to_name self.match = match + if schema: + util.warn_deprecated( + "'schema' argument on ForeignKey has no effect - " + "please specify the target as " + "...") + def __repr__(self): return "ForeignKey(%r)" % self._get_colspec() diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py index fbdd06565a..3075d3685c 100644 --- a/test/sql/test_metadata.py +++ b/test/sql/test_metadata.py @@ -212,6 +212,13 @@ class MetaDataTest(fixtures.TestBase, ComparesTables): assert b.c.a_id.references(a.c.id) eq_(len(b.constraints), 2) + def test_fk_erroneous_schema_arg(self): + assert_raises_message( + exc.SADeprecationWarning, + "'schema' argument on ForeignKey has no effect.", + ForeignKey, "foo.bar", schema='myschema' + ) + def test_fk_construct(self): c1 = Column('foo', Integer) c2 = Column('bar', Integer)