diff options
author | iElectric <unknown> | 2009-06-11 22:27:38 +0000 |
---|---|---|
committer | iElectric <unknown> | 2009-06-11 22:27:38 +0000 |
commit | 8a8b1d2366e554eef43f656b95f70e3013577f01 (patch) | |
tree | 098f53fb8e4ca8e96a495591e53557e5df4e4ef0 /migrate/changeset/databases/visitor.py | |
parent | 15cb31cea6d29fc85031bdb8840281465bc6a5a6 (diff) | |
download | sqlalchemy-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.py | 18 |
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 |