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源码的朋友一起来研究下。