summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-06-23 16:08:01 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-06-23 16:08:01 -0400
commit28a3f152061724de9583da9ea83b54e9ababbcc1 (patch)
treeeaf4de1e92a39dd4770e5e7eaa02ee73206a3d94
parente288aff8eae6d08b040ad9026449ff4578104d1b (diff)
downloadsqlalchemy-28a3f152061724de9583da9ea83b54e9ababbcc1.tar.gz
tweak this for now, would need a test
-rw-r--r--lib/sqlalchemy/schema.py6
-rw-r--r--test/sql/test_metadata.py11
2 files changed, 3 insertions, 14 deletions
diff --git a/lib/sqlalchemy/schema.py b/lib/sqlalchemy/schema.py
index d2df3de1d..fa13d7065 100644
--- a/lib/sqlalchemy/schema.py
+++ b/lib/sqlalchemy/schema.py
@@ -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
diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py
index 7b6c8497e..851e9b920 100644
--- a/test/sql/test_metadata.py
+++ b/test/sql/test_metadata.py
@@ -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."""