sql >> データベース >  >> RDS >> PostgreSQL

after_createでカスタムDDLを発行するためにalembicを取得するにはどうすればよいですか?

    テーブルレベルのbefore_create/after_createイベントが発行されます(メタデータレベルのイベントだけではありません)。 env.pyスクリプトで何が起こっても、最終的にはそれらのイベントリスナーが設定されていることを確認する必要があります。

    ここにあるコードは少し疑わしいようです:

    event.listen(Session.__table__, 'after_create', update_function)
    event.listen(Session.__table__, 'after_create', update_trigger)
    

    Session.__table__ ここにあるのは単一のTable インスタンスとそれはおそらくあなたがアレムビックスクリプトで見るものではありません。アレムビックなcreate_table コマンドはTableを作成します ローカルで作成を実行するだけなので、すべてのTableオブジェクトをグローバルにリッスンする必要があります:

    from sqlalchemy import Table
    event.listen(Table, 'after_create', update_function)
    event.listen(Table, 'after_create', update_trigger)
    

    ただし、これらのイベントがこの1つの特定のテーブルのみを対象としている場合は、イベントを使用せず、create_table()



    1. Hibernateアノテーション-大文字と小文字を区別しないUniqueConstraint

    2. Oracle PL / SQL Developerでダンプを作成するにはどうすればよいですか?

    3. MySQL(パフォーマンスとストレージ)でNULL

    4. AndroidSQLiteデータベーステーブルが作成されていません