@utsiye

Как использовать alembic в асинхронной среде?

У меня есть следующий код lifespan-а fastapi:
@asynccontextmanager
async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
    session_maker = await initialize_db(app.state.config.db.url)
    app.state.session_maker = session_maker

    alembic.config.main(argv=[
        'upgrade', 'head',
    ])
    yield

    alembic.config.main(argv=[
        'downgrade', 'head',
    ])


Я хотел бы запускать upgrade alembic, при запуске и downgrade, при остановки программы. На это, я получаю ошибку:
sys:1: RuntimeWarning: coroutine 'run_async_migrations' was never awaited


Как я могу это решить?
  • Вопрос задан
  • 44 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы