Używam migracji alembików dla projektu kolby + sqlalchemy i rzeczy działają zgodnie z oczekiwaniami, dopóki nie spróbuję wysłać zapytania do modeli w alembiku.Uzyskiwanie dostępu do modeli w migracji alembików
from models import StoredFile
def upgrade():
### commands auto generated by Alembic - please adjust! ###
op.add_column('stored_file', sa.Column('mimetype', sa.Unicode(length=32))
for sf in StoredFile.query.all():
sf.mimetype = guess_type(sf.title)
Powyższy kod utknie po dodając kolumnę i nigdy nie wychodzi. Domyślam się, że StoredFile.query
próbuje użyć innego połączenia z bazą danych niż ten używany przez alembik. (Ale dlaczego? Czy brakuje mi czegoś w env.py
?)
Mogłabym go rozwiązać za pomocą op.get_bind().execute(...)
, ale pytanie brzmi: jak mogę korzystać z modeli bezpośrednio w alembiku?