0

SQLAlchemyのドキュメントには、次のようなコードを使用して特定のテーブルを作成する前にDDLステートメントを実行する方法に関する明確な指示が記載されています。

DDL(statement).execute_at('before-create', table)

しかし、複数のテーブルが作成される前にステートメントが実行されることを確認したい場合はどうなりますか?最も単純なケースでは、テーブルが作成される前にステートメントが実行されることを確認したいとします。モデルの基本クラスのメタデータを作成する前に、それらを実行させることはできますか?

DDL(statement).execute_at('before-create', Base.metadata)

(ここでの「before-create」は、テーブルが作成されるたびにステートメントが実行されることを意味する可能性があるのではないかと心配しています。)

4

1 に答える 1

1

簡単な答え、「はい」、あなたがそこにそれを示しているのと同じように。このイベントは、テーブルとメタデータに適しています。

ただし、0.7以上の場合は、新しいイベント形式を使用する必要があります。http://docs.sqlalchemy.org/en/latest/core/events.html#sqlalchemy.events.DDLEventsを参照してください

于 2012-12-04T01:10:53.253 に答える