我每次 FastAPI 应用程序启动时都尝试运行 Alembic 迁移。我正在使用 Docker 容器部署我的 FastAPI 应用程序。
这是我为实现此目的而实现的代码:
from alembic.config import Config
from alembic import command
def run_migrations():
alembic_cfg = Config("alembic.ini")
command.upgrade(alembic_cfg, "head")
@app.on_event("startup")
async def startup_event():
run_migrations()
但是,我面临一个问题,一旦启动完成,Docker 容器就会停止。此外,我注意到记录器更改为 Alembic 而不是 FastAPI。
我想了解如何确保迁移成功运行而不停止容器并同时维护 FastAPI 日志记录。任何见解或建议将不胜感激。
我也被困在同一个地方。就我而言,运行 alembic 升级时出现错误。它没有显示在日志中。它会默默地终止程序,从而导致 fastapi 服务器停止。
尝试手动运行alembic升级头命令或在调用升级时增加详细程度,您将会知道错误。