diff --git a/apps/api/src/db/base.py b/apps/api/src/db/base.py index 3aa243e7..c3ab124c 100644 --- a/apps/api/src/db/base.py +++ b/apps/api/src/db/base.py @@ -222,17 +222,19 @@ async def init_db() -> None: # 2026-04-15 ogt + Claude Sonnet 4.6(亞太): Phase 6 自我治理閉環 # ADR-087: ai_governance_events 不可變 Event Sourcing 表 - # create_all 已建表,此處補 INDEX(部分環境 create 不跑 Index) - await conn.execute( - text(""" - CREATE INDEX IF NOT EXISTS ix_ai_governance_event_type - ON ai_governance_events (event_type); - CREATE INDEX IF NOT EXISTS ix_ai_governance_triggered_at - ON ai_governance_events (triggered_at); - CREATE INDEX IF NOT EXISTS ix_ai_governance_resolved - ON ai_governance_events (resolved); - """) - ) + # asyncpg 不允許 prepared statement 內多條指令,必須分開 execute + await conn.execute(text( + "CREATE INDEX IF NOT EXISTS ix_ai_governance_event_type " + "ON ai_governance_events (event_type);" + )) + await conn.execute(text( + "CREATE INDEX IF NOT EXISTS ix_ai_governance_triggered_at " + "ON ai_governance_events (triggered_at);" + )) + await conn.execute(text( + "CREATE INDEX IF NOT EXISTS ix_ai_governance_resolved " + "ON ai_governance_events (resolved);" + )) async def close_db() -> None: