Я использую перегонные миграции для проекта flask+sqlalchemy, и все работает, как и ожидалось, пока я не попытаюсь запросить модели в перегонном кубе.
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)
Приведенный выше код зависает после добавления столбца и никогда не выходит. Я предполагаю, что StoredFile.query
пытается использовать другое соединение с базой данных, чем то, которое используется перегонным кубом. (Но почему? Я что-то упустил в env.py
?)
Я мог бы решить это с помощью op.get_bind().execute(...)
, но вопрос в том, как я могу использовать модели непосредственно в перегонном кубе?