Hi, Although not part of the PyMySQL team, we're interested in getting PyMySQL support in SQLAlchemy.
We already published a package for this: http://pypi.python.org/pypi/pymysql_sa/1.0 As PyMySQL's goal is to be a drop-in replacement for MySQLdb, it would be nice to eventually get it to comply with the whole SQLAlchemy test suite. Here's a small patch adding the PyMySQL dialect directly to SQLAlchemy: diff -r b29164cca942 lib/sqlalchemy/dialects/mysql/__init__.py --- a/lib/sqlalchemy/dialects/mysql/__init__.py Tue Nov 30 13:55:17 2010 -0500 +++ b/lib/sqlalchemy/dialects/mysql/__init__.py Thu Dec 02 15:06:43 2010 +0100 @@ -1,5 +1,5 @@ from sqlalchemy.dialects.mysql import base, mysqldb, oursql, \ - pyodbc, zxjdbc, mysqlconnector + pyodbc, zxjdbc, mysqlconnector, pymysql # default dialect base.dialect = mysqldb.dialect diff -r b29164cca942 lib/sqlalchemy/dialects/mysql/mysqldb.py --- a/lib/sqlalchemy/dialects/mysql/mysqldb.py Tue Nov 30 13:55:17 2010 -0500 +++ b/lib/sqlalchemy/dialects/mysql/mysqldb.py Thu Dec 02 15:06:43 2010 +0100 @@ -137,7 +137,9 @@ client_flag = opts.get('client_flag', 0) if self.dbapi is not None: try: - from MySQLdb.constants import CLIENT as CLIENT_FLAGS + CLIENT_FLAGS = __import__(self.dbapi.__package__ +'.constants', + globals(), locals(), + ['CLIENT']).CLIENT client_flag |= CLIENT_FLAGS.FOUND_ROWS except: pass diff -r b29164cca942 lib/sqlalchemy/dialects/mysql/pymysql.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/sqlalchemy/dialects/mysql/pymysql.py Thu Dec 02 15:06:43 2010 +0100 @@ -0,0 +1,10 @@ +from sqlalchemy.dialects.mysql.mysqldb import MySQLDialect_mysqldb + +class MySQLDialect_pymysql(MySQLDialect_mysqldb): + driver = 'pymysql' + + @classmethod + def dbapi(cls): + return __import__('pymysql') + +dialect = MySQLDialect_pymysql -- Evax Software -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
