summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Dittberner <jan.dittberner@googlemail.com>2011-10-28 10:06:19 +0200
committerJan Dittberner <jan.dittberner@googlemail.com>2011-10-28 10:06:19 +0200
commit95a329b16a05342badd955e218bf3e47c4b2879e (patch)
treec1179156fa8745d9cfd619d670194cdd3e302d6b
parent6f44824055dcb653a1db94a533e466a61e82d5dd (diff)
downloadsqalchemy-migrate-95a329b16a05342badd955e218bf3e47c4b2879e.tar.gz
fix SQLAlchemy 0.6.x compatibility of issue 128 patch
-rw-r--r--migrate/changeset/schema.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/migrate/changeset/schema.py b/migrate/changeset/schema.py
index c8ce23f..b61ff5b 100644
--- a/migrate/changeset/schema.py
+++ b/migrate/changeset/schema.py
@@ -468,9 +468,19 @@ class ChangesetTable(object):
self.deregister()
self._set_parent(self.metadata)
+ def _meta_key(self):
+ """Get the meta key for this table."""
+ return sqlalchemy.schema._get_table_key(self.name, self.schema)
+
def deregister(self):
"""Remove this table from its metadata"""
- self.metadata._remove_table(self.name, self.schema)
+ if SQLA_07:
+ self.metadata._remove_table(self.name, self.schema)
+ else:
+ key = self._meta_key()
+ meta = self.metadata
+ if key in meta.tables:
+ del meta.tables[key]
class ChangesetColumn(object):