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


Как я могу это решить?
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Stepik
    Python PROрыв: полный цикл веб-разработки — с нуля до Pro
    2 месяца
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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