From 7cb4b6363c2567fee04aeb56b48651092688521c Mon Sep 17 00:00:00 2001 From: iElectric Date: Mon, 13 Jul 2009 18:45:52 +0200 Subject: [PATCH] applying patch for issue #61 by Michael Bayer --- migrate/changeset/databases/firebird.py | 10 ++++++---- migrate/changeset/databases/postgres.py | 3 ++- migrate/changeset/databases/visitor.py | 1 + test/fixture/database.py | 3 ++- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/migrate/changeset/databases/firebird.py b/migrate/changeset/databases/firebird.py index 5eacd58..a8831bf 100644 --- a/migrate/changeset/databases/firebird.py +++ b/migrate/changeset/databases/firebird.py @@ -2,11 +2,13 @@ Firebird database specific implementations of changeset classes. """ -from migrate.changeset import ansisql, exceptions - -# TODO: SQLA 0.6 has not migrated the FB dialect over yet +from migrate.changeset import ansisql, exceptions, SQLA_06 from sqlalchemy.databases import firebird as sa_base -FBSchemaGenerator = sa_base.FBSchemaGenerator + +if SQLA_06: + FBSchemaGenerator = sa_base.FBDDLCompiler +else: + FBSchemaGenerator = sa_base.FBSchemaGenerator class FBColumnGenerator(FBSchemaGenerator, ansisql.ANSIColumnGenerator): """Firebird column generator implementation.""" diff --git a/migrate/changeset/databases/postgres.py b/migrate/changeset/databases/postgres.py index 2c36ed1..015ad65 100644 --- a/migrate/changeset/databases/postgres.py +++ b/migrate/changeset/databases/postgres.py @@ -4,11 +4,12 @@ .. _`PostgreSQL`: http://www.postgresql.org/ """ from migrate.changeset import ansisql, SQLA_06 -from sqlalchemy.databases import postgres as sa_base if not SQLA_06: + from sqlalchemy.databases import postgres as sa_base PGSchemaGenerator = sa_base.PGSchemaGenerator else: + from sqlalchemy.databases import postgresql as sa_base PGSchemaGenerator = sa_base.PGDDLCompiler diff --git a/migrate/changeset/databases/visitor.py b/migrate/changeset/databases/visitor.py index 6db2d51..aa8a3e5 100644 --- a/migrate/changeset/databases/visitor.py +++ b/migrate/changeset/databases/visitor.py @@ -16,6 +16,7 @@ DIALECTS = { "default": ansisql.ANSIDialect, "sqlite": sqlite.SQLiteDialect, "postgres": postgres.PGDialect, + "postgresql": postgres.PGDialect, "mysql": mysql.MySQLDialect, "oracle": oracle.OracleDialect, "firebird": firebird.FBDialect, diff --git a/test/fixture/database.py b/test/fixture/database.py index c6360eb..3ced7a3 100644 --- a/test/fixture/database.py +++ b/test/fixture/database.py @@ -6,6 +6,7 @@ from decorator import decorator from sqlalchemy import create_engine, Table, MetaData from sqlalchemy.orm import create_session +from sqlalchemy.pool import StaticPool from test.fixture.base import Base from test.fixture.pathed import Pathed @@ -50,7 +51,7 @@ def is_supported(url, supported, not_supported): # we make the engines global, which should make the tests run a bit faster urls = readurls() -engines = dict([(url, create_engine(url, echo=True)) for url in urls]) +engines = dict([(url, create_engine(url, echo=True, poolclass=StaticPool)) for url in urls]) def usedb(supported=None, not_supported=None):