summaryrefslogtreecommitdiff
path: root/migrate/changeset/databases/visitor.py
diff options
context:
space:
mode:
Diffstat (limited to 'migrate/changeset/databases/visitor.py')
-rw-r--r--migrate/changeset/databases/visitor.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/migrate/changeset/databases/visitor.py b/migrate/changeset/databases/visitor.py
index 224c40f..c70aa6b 100644
--- a/migrate/changeset/databases/visitor.py
+++ b/migrate/changeset/databases/visitor.py
@@ -8,8 +8,7 @@ from migrate.changeset.databases import (sqlite,
postgres,
mysql,
oracle,
- firebird,
- ibmdb2)
+ firebird)
# Map SA dialects to the corresponding Migrate extensions
@@ -21,10 +20,19 @@ DIALECTS = {
"mysql": mysql.MySQLDialect,
"oracle": oracle.OracleDialect,
"firebird": firebird.FBDialect,
- "ibm_db_sa": ibmdb2.IBMDBDialect
}
+# NOTE(mriedem): We have to conditionally check for DB2 in case ibm_db_sa
+# isn't available since ibm_db_sa is not packaged in sqlalchemy like the
+# other dialects.
+try:
+ from migrate.changeset.databases import ibmdb2
+ DIALECTS["ibm_db_sa"] = ibmdb2.IBMDBDialect
+except ImportError:
+ pass
+
+
def get_engine_visitor(engine, name):
"""
Get the visitor implementation for the given database engine.