【问题标题】:Unable to reflect databases in flask sqlalchemy无法在烧瓶 sqlalchemy 中反映数据库
【发布时间】:2014-01-06 16:46:15
【问题描述】:

我正在尝试使用 flask-sqlalchemy(flask 版本 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'

知道是什么导致了这种情况或我做错了什么吗?

【问题讨论】:

  • 发布完整的回溯。
  • 我用完整的回溯更新了推荐。当我之前用谷歌搜索错误时,我在 github 中看到了一个类似问题的 flask-sqlalchemy 的问题,但它表示它已修复...我假设 pip/pypi (1.0) 提供的最新版本已修复,但也许这不是吗?我对烧瓶/sqlalchemy 以及 python 2/3 之间的差异还不够熟悉,无法真正理解问题的原因。
  • 您输入了堆栈跟踪吗? “refelct”是错字吗?
  • 我确实输入了,我更正了错字。它在我的代码中拼写正确(或者 id 可能从 python 解释器中得到一个不同的、更简单的错误:))

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


【解决方案1】:

看来这个has been broken for awhile,竟然进了Flask-SQLAlchemy 1.0版。

2013 年 7 月 17 日,this commit 发布了 1.0 版。几周后,问题才被关闭(由于 2013 年 7 月 31 日this commit 的结果)。

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

【讨论】:

  • 谢谢,感谢您的回答。我不确定修复的确切时间表与当前稳定版本的发布日期。现在的问题是我现在是否跳过flask-sqlalchemy并尝试将常规sqlalchemy用于我的目的(我假设反射有效。)我有点不确定如何安装flask-sqlalchemy的不稳定版本,尽管我确定一些谷歌搜索会找到我的答案。目前我没有使用任何一个,但 sqlAlchemy 似乎有一些有用的功能。
【解决方案2】:

我为解决我的问题所做的只是简单地使用 pip 获取当前 master:

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

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-22
    • 2012-12-29
    • 2018-10-11
    相关资源
    最近更新 更多