无法反映flask sqlalchemy中的数据库

时间:2014-01-06 16:46:15

标签: python python-3.x flask flask-sqlalchemy

我正在尝试使用flask-sqlalchemy(烧瓶版本0.10,flask-sqlalch版本1.0,python 3.3.3)来反映我的数据库中的表并遇到错误。当我使用代码时:

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://**appropriate connection string here **'
db = SQLAlchemy(app)

db.reflect(app = app)

收到以下错误:

file "testmodel.py", line 9, in (module)
db.reflect(app = app)
File "~pathToSqlAlch\flask_sqlalchemy\__init__.py", line 872, in reflect
self.execute_for_all_tables(app, bind, 'reflect')
File "~pathToSqlAlch\flask_sqlalchemy\__init__.py", line 848, in _execute_for_all_tables
op(bind=self.get_engine(app,bind), tables=tables)
reflect() got an unexpected keyword argument 'tables'

任何想法可能导致这个或我可能做错了什么?

2 个答案:

答案 0 :(得分:5)

这似乎是has been broken for awhile,甚至是Flask-SQLAlchemy版本1.0。

版本1.0于2013年7月17日与this commit一起发布。该问题仅在几周后关闭(由于2013年7月31日this commit)。

所以,你并不孤单:这是一个错误。修复程序尚未在稳定版本中发布。

答案 1 :(得分:1)

我解决问题的方法是简单地用pip获取当前的主人:

pip install git+git://github.com/mitsuhiko/flask-sqlalchemy.git