Skip to content

Commit d833273

Browse files
perf: Auto exec alembic
1 parent 62be1f0 commit d833273

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

backend/main.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import logging
2+
from fastapi.concurrency import asynccontextmanager
23
from fastapi.responses import FileResponse
34
from fastapi.staticfiles import StaticFiles
45
import os
@@ -11,6 +12,16 @@
1112
from apps.system.middleware.auth import TokenMiddleware
1213
from common.core.config import settings
1314
from common.core.response_middleware import ResponseMiddleware, exception_handler
15+
from alembic.config import Config
16+
from alembic import command
17+
18+
def run_migrations():
19+
alembic_cfg = Config("alembic.ini")
20+
command.upgrade(alembic_cfg, "head")
21+
@asynccontextmanager
22+
async def lifespan(app: FastAPI):
23+
run_migrations()
24+
yield
1425

1526
def custom_generate_unique_id(route: APIRoute) -> str:
1627
tag = route.tags[0] if route.tags and len(route.tags) > 0 else ""
@@ -24,6 +35,7 @@ def custom_generate_unique_id(route: APIRoute) -> str:
2435
title=settings.PROJECT_NAME,
2536
openapi_url=f"{settings.API_V1_STR}/openapi.json",
2637
generate_unique_id_function=custom_generate_unique_id,
38+
lifespan=lifespan
2739
)
2840

2941
# Set all CORS enabled origins

0 commit comments

Comments
 (0)