我在一个简单的测试应用程序中尝试使用flask-sqlalchemy。 我正在运行一个SQL服务器,我可以从Flask使用SQLalchemy连接到这样:
from flask import render_template
from app import app, db
@app.route('/')
@app.route('/index')
def index():
people = list(db.session.execute("select top 10 * from people where ppl_username IS NOT NULL"))
但是,我还想使用SQL伪造语言和SQLalchemy的ORM部分进行查询。因为这是一个现有的数据库,我不想编写自己的类和生成数据库,我想反映现有的数据库并以这种方式访问它。 我找到了the reflect method in the API docs,但我无法弄清楚如何(以及在哪里)使用它。
除了想知道如何做到这一点;我也想知道:
谢谢,
答案 0 :(得分:4)
是的,这一切都是可能的。我使用sqlautocode来完成您所说的内容。它生成sqlalchemy代码以在sqlalchemy中创建表/列并将它们放在一个文件中。只需安装它,然后从命令行运行它。
这将从我的webapp的现有mysql数据库生成模型sqlalchemy模型,并创建一个文件alchemy_models.py:
sqlautocode mysql://<dbuser>:<pass>@localhost:3306/<dbname> -o alchemy_models.py
注意mysql:// bit只是在SA中生成连接的语法
希望这有帮助