3
在sqlalchemy(0.8.2),drop_all()
和create_all()
中都有一個tables
參數,該參數可以是要刪除或添加的表對象列表。flask-sqlalchemy對特定表使用drop_all和create_all
在flask-sqlalchemy(1.0)中,這些方法沒有這個參數。
使用燒瓶鍊金術來放置/創建數據庫表子集的適當方法是什麼?
在sqlalchemy(0.8.2),drop_all()
和create_all()
中都有一個tables
參數,該參數可以是要刪除或添加的表對象列表。flask-sqlalchemy對特定表使用drop_all和create_all
在flask-sqlalchemy(1.0)中,這些方法沒有這個參數。
使用燒瓶鍊金術來放置/創建數據庫表子集的適當方法是什麼?
Flask-SQLAlchemy的create_all()
方法將使用Base的元數據通過調用SQLAlchemy的MetaData.create_all()
方法來創建表。此方法允許指定一個表對象列表。你還需要提供一個「綁定」,這基本上就是引擎。您可以使用Flask-SQLAlchemy的engine屬性來檢索該屬性。
所以,你應該能夠做到......
db = SQLAlchemy(app)
class MyTable(db.Model):
...
class MyOtherTable(db.Model):
...
db.metadata.create_all(db.engine, tables=[
MyTable.__table__,
...
])
這是假設你使用一個單一的數據庫。否則,您需要使用get_engine()
爲每個數據庫撥打create_all()
。