fix(db): Phase 6 migration 三條 CREATE INDEX 拆開各自 execute
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
Some checks failed
CD Pipeline / build-and-deploy (push) Has been cancelled
asyncpg 不支援 prepared statement 內多條 SQL 指令,
原本一個 text("""...""") 包含三條 CREATE INDEX 導致 CrashLoopBackOff。
拆成三個獨立 conn.execute() 呼叫。
2026-04-15 ogt + Claude Sonnet 4.6(亞太)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user