sqlalchemy (0.8.2) ではdrop_all()
、create_all()
どちらにもtables
パラメーターがあり、ドロップまたは追加する Table オブジェクトのリストにすることができます。
フラスコ sqlalchemy (1.0) では、これらのメソッドにはこのパラメータがありません。
フラスコアルケミーを使用して、データベーステーブルのサブセットを削除/作成する適切な方法は何ですか?
sqlalchemy (0.8.2) ではdrop_all()
、create_all()
どちらにもtables
パラメーターがあり、ドロップまたは追加する Table オブジェクトのリストにすることができます。
フラスコ sqlalchemy (1.0) では、これらのメソッドにはこのパラメータがありません。
フラスコアルケミーを使用して、データベーステーブルのサブセットを削除/作成する適切な方法は何ですか?
Flask-SQLAlchemy のcreate_all()
メソッドは、SQLAlchemy のメソッドを呼び出すことにより、Base のメタデータを使用してテーブルを作成します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__,
...
])
これは、単一のデータベースを使用していることを前提としています。create_all()
それ以外の場合は、を使用して各データベースに対して呼び出しを行う必要がありますget_engine()
。