gpt4 book ai didi

python - flask-sqlalchemy 对特定表使用 drop_all 和 create_all

转载 作者:太空狗 更新时间:2023-10-29 22:26:43 25 4
gpt4 key购买 nike

在sqlalchemy(0.8.2)中,drop_all()create_all()都有一个tables参数,可以是一个列表要删除或添加的表对象。

在flask-sqlalchemy(1.0)中这些方法没有这个参数。

使用 flask-alchemy 删除/创建数据库表子集的合适方法是什么?

最佳答案

Flask-SQLAlchemy 的 create_all()方法将使用 Base 的元数据通过调用 SQLAlchemy 的 MetaData.create_all() 创建表。方法。此方法允许指定表对象列表。您还需要为它提供一个“绑定(bind)”,这基本上就是引擎。您可以使用 engine 检索它Flask-SQLAlchemy 的属性。

所以,你应该能够做到...

db = SQLAlchemy(app)

class MyTable(db.Model):
...

class MyOtherTable(db.Model):
...

db.metadata.create_all(db.engine, tables=[
MyTable.__table__,
...
])

这假定您使用的是单个数据库。否则,您需要使用 get_engine() 为每个数据库调用 create_all() .

关于python - flask-sqlalchemy 对特定表使用 drop_all 和 create_all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19232126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com