diff --git a/apps/api/src/db/base.py b/apps/api/src/db/base.py index f7e16f11..e17a68ab 100644 --- a/apps/api/src/db/base.py +++ b/apps/api/src/db/base.py @@ -144,7 +144,9 @@ async def init_db() -> None: """ engine = get_engine() async with engine.begin() as conn: - await conn.run_sync(Base.metadata.create_all) + # checkfirst=True: 存在的 table/index 直接跳過,避免 rolling update 重啟時 + # "relation already exists" CrashLoopBackOff(2026-04-15 Claude Sonnet 4.6 Phase 3 修復) + await conn.run_sync(lambda c: Base.metadata.create_all(c, checkfirst=True)) # 2026-04-02 Claude Code: 確保 risklevel enum 包含 'high' 值 # Phase 23 新增,避免舊 DB 缺少此值導致 InvalidTextRepresentation