Added support for SA 0.5 (previously only 0.6 was supported).

This commit is contained in:
Lance Edgar 2010-05-21 18:29:49 -05:00
parent fd200738b9
commit 617c28e8c7
7 changed files with 221 additions and 135 deletions

View file

@ -23,11 +23,26 @@
################################################################################
from sqlbase7_sa import base
from sqlbase7_sa import pyodbc
from sqlbase7_sa._version import __version__
import sqlalchemy
from pkg_resources import parse_version
# default dialect
base.dialect = pyodbc.dialect
if parse_version(sqlalchemy.__version__) <= parse_version('0.5.99'):
# SQLAlchemy 0.5 doesn't support user-contributed dialects "directly"
# by way of setuptools entry points, so we must monkey-patch it in
# order to add ours.
import sqlalchemy.databases, sqlbase7_sa, sys
sqlalchemy.databases.sqlbase7 = sqlbase7_sa
sys.modules['sqlalchemy.databases.sqlbase7'] = sqlbase7_sa
# SQLAlchemy will be expecting us to have a 'dialect' attribute.
import sqlbase7_sa.sqlbase7_sa05
dialect = sqlbase7_sa.sqlbase7_sa05.SQLBase7Dialect_SA05
else:
# SQLAlchemy 0.6 is much nicer to play with.
import sqlbase7_sa.sqlbase7_sa06
base = sqlbase7_sa.sqlbase7_sa06