Задать вопрос
@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


Как я могу это решить?
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python-разработчик
    6 месяцев
    Далее
  • Академия Eduson
    Python-разработчик
    9 месяцев
    Далее
  • Академия Eduson
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы