Level tabel before_create/after_create dikeluarkan (hanya bukan level metadata). Anda perlu memastikan apa pun yang terjadi dalam skrip env.py Anda pada akhirnya melibatkan penyiapan event listener tersebut.
Kode yang Anda miliki di sini terlihat sedikit mencurigakan:
event.listen(Session.__table__, 'after_create', update_function)
event.listen(Session.__table__, 'after_create', update_trigger)
Session.__table__
di sini hanya akan menjadi satu Table
contoh dan itu mungkin bukan yang Anda lihat di skrip alembic. create_table
alembic perintah membuat Table
secara lokal dan hanya menjalankan pembuatan di atasnya, jadi Anda perlu mendengarkan semua objek Tabel secara global:
from sqlalchemy import Table
event.listen(Table, 'after_create', update_function)
event.listen(Table, 'after_create', update_trigger)
jika peristiwa ini hanya untuk satu tabel khusus ini, maka Anda tidak akan menggunakan peristiwa apa pun, Anda cukup meletakkan DDL() untuk pemicu tersebut secara langsung di skrip migrasi Anda, tepat setelah ia memanggil create_table()
.