SQLAlchemy 用于 MySQL创建表时的bug修正

环境:

python:3.2

sqlalchemy:0.7.2

MySQLdb:1.2.3

 

使用sqlalchemy连接数据库,在最简单的情况下报错,表示数据库中的表找不到,定位问题发现出在sqlalchemy\dialects\mysql\base.py当中。

 

奇怪的是base.py中的_extract_error_code()不执行,反而去执行MySQLDBConnector中的_extract_error_code()。还没有找到什么原因。

 

不过把MySQLDBConnector中的函数:

def _extract_error_code(self, exception):
    return exception.args[0]

改为:

def _extract_error_code(self, exception):
    #return exception.args[0]
    return exception.code

即可解决问题。

 

哪位研究过sqlalchemy源码的朋友一起来研究下。

posted @ 2011-10-07 21:29  leether  阅读(457)  评论(0编辑  收藏  举报