summaryrefslogtreecommitdiff
path: root/migrate/changeset/databases/visitor.py
diff options
context:
space:
mode:
authoriElectric <unknown>2009-06-11 22:27:38 +0000
committeriElectric <unknown>2009-06-11 22:27:38 +0000
commit8a8b1d2366e554eef43f656b95f70e3013577f01 (patch)
tree098f53fb8e4ca8e96a495591e53557e5df4e4ef0 /migrate/changeset/databases/visitor.py
parent15cb31cea6d29fc85031bdb8840281465bc6a5a6 (diff)
downloadsqlalchemy-migrate-8a8b1d2366e554eef43f656b95f70e3013577f01.tar.gz
use sqlalchemy preparer to do SQL quote formatting. this is a raw change, tests are yet to be written
Diffstat (limited to 'migrate/changeset/databases/visitor.py')
-rw-r--r--migrate/changeset/databases/visitor.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/migrate/changeset/databases/visitor.py b/migrate/changeset/databases/visitor.py
index 60216cc..4afad77 100644
--- a/migrate/changeset/databases/visitor.py
+++ b/migrate/changeset/databases/visitor.py
@@ -18,7 +18,14 @@ dialects = {
def get_engine_visitor(engine, name):
"""
Get the visitor implementation for the given database engine.
+
+ :param engine: SQLAlchemy Engine
+ :param name: Name of the visitor
+ :type name: string
+ :type engine: Engine
+ :returns: visitor
"""
+ # TODO: link to supported visitors
return get_dialect_visitor(engine.dialect, name)
@@ -28,7 +35,16 @@ def get_dialect_visitor(sa_dialect, name):
Finds the visitor implementation based on the dialect class and
returns and instance initialized with the given name.
+
+ Binds dialect specific preparer to visitor.
"""
+
+ # map sa dialect to migrate dialect and return visitor
sa_dialect_cls = sa_dialect.__class__
migrate_dialect_cls = dialects[sa_dialect_cls]
- return migrate_dialect_cls.visitor(name)
+ visitor = migrate_dialect_cls.visitor(name)
+
+ # bind preparer
+ visitor.preparer = sa_dialect.preparer(sa_dialect)
+
+ return visitor