diff options
author | jan.dittberner <unknown> | 2008-02-06 18:39:07 +0000 |
---|---|---|
committer | jan.dittberner <unknown> | 2008-02-06 18:39:07 +0000 |
commit | 2cfe1fc31c0dfa8241200f635d8e7f6cfce2b507 (patch) | |
tree | 69541da758ab44652badc59ec0ce659364bdfe7f /migrate/changeset/databases/visitor.py | |
download | sqlalchemy-migrate-2cfe1fc31c0dfa8241200f635d8e7f6cfce2b507.tar.gz |
moved trunk, branches and tags to project root
fixes Issue #5
Diffstat (limited to 'migrate/changeset/databases/visitor.py')
-rw-r--r-- | migrate/changeset/databases/visitor.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/migrate/changeset/databases/visitor.py b/migrate/changeset/databases/visitor.py new file mode 100644 index 0000000..437dc68 --- /dev/null +++ b/migrate/changeset/databases/visitor.py @@ -0,0 +1,20 @@ +import sqlalchemy as sa +from migrate.changeset.databases import sqlite,postgres,mysql,oracle +from migrate.changeset import ansisql + +# Map SA dialects to the corresponding Migrate extensions +dialects = { + sa.engine.default.DefaultDialect : ansisql.ANSIDialect, + sa.databases.sqlite.SQLiteDialect : sqlite.SQLiteDialect, + sa.databases.postgres.PGDialect : postgres.PGDialect, + sa.databases.mysql.MySQLDialect : mysql.MySQLDialect, + sa.databases.oracle.OracleDialect : oracle.OracleDialect, +} + +def get_engine_visitor(engine,name): + return get_dialect_visitor(engine.dialect,name) + +def get_dialect_visitor(sa_dialect,name): + sa_dialect_cls = sa_dialect.__class__ + migrate_dialect_cls = dialects[sa_dialect_cls] + return migrate_dialect_cls.visitor(name) |