]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
tweak this for now, would need a test
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Jun 2013 20:08:01 +0000 (16:08 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 23 Jun 2013 20:08:01 +0000 (16:08 -0400)
lib/sqlalchemy/schema.py
test/sql/test_metadata.py

index d2df3de1d724f076c410436d2a15257b488340f0..fa13d706546f2ac9b3f1a4cb849e5a21e9b0078a 100644 (file)
@@ -1560,10 +1560,10 @@ class ForeignKey(SchemaItem):
     def _remove_from_metadata(self, metadata):
         parenttable, table_key, colname = self._resolve_col_tokens()
         fk_key = (table_key, colname)
-        try:
+
+        if self in metadata._fk_memos[fk_key]:
+            # TODO: no test coverage for self not in memos
             metadata._fk_memos[fk_key].remove(self)
-        except:
-            pass
 
     def _set_table(self, column, table):
         # standalone ForeignKey - create ForeignKeyConstraint
index 7b6c8497e212d66a717fc6882854e8892f897710..851e9b9203259e196aa7126e545599dd595ed1d7 100644 (file)
@@ -1478,17 +1478,6 @@ class ConstraintTest(fixtures.TestBase):
         # remove twice OK
         metadata.remove(t2)
 
-    def test_remove_failed(self):
-        metadata = MetaData()
-        fk = ForeignKey('t1.x')
-        t3 = Table('t3', metadata, Column('y', Integer, ForeignKey('t1.x')))
-
-        try:
-            Table('t2', metadata, Column('y', Integer, fk))
-        except:
-            raise
-
-
 
 class ColumnDefinitionTest(AssertsCompiledSQL, fixtures.TestBase):
     """Test Column() construction."""