diff --git a/apps/api/tests/integration/setup_test_schema.sql b/apps/api/tests/integration/setup_test_schema.sql index a4ed6c30..4312ed12 100644 --- a/apps/api/tests/integration/setup_test_schema.sql +++ b/apps/api/tests/integration/setup_test_schema.sql @@ -119,11 +119,24 @@ CREATE TABLE IF NOT EXISTS knowledge_entries ( related_incident_id VARCHAR, related_playbook_id VARCHAR, symptoms_hash VARCHAR, + -- 2026-04-29 ogt + Claude Opus 4.7: M4 KMWriter 反查鏈 + 冪等補欄 + -- 解 CD #1115-1118 全 failure:column "related_approval_id" does not exist + -- 對應 commit c22e5f33 KMWriter ORM 加的欄位 + related_approval_id VARCHAR(64), + path_type VARCHAR(50), view_count INTEGER DEFAULT 0, created_by VARCHAR, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); +-- M3 冪等 unique index (incident_id + path_type) +CREATE UNIQUE INDEX IF NOT EXISTS uix_knowledge_incident_path + ON knowledge_entries(related_incident_id, path_type) + WHERE related_incident_id IS NOT NULL AND path_type IS NOT NULL; +-- M4 反查鏈 partial index +CREATE INDEX IF NOT EXISTS ix_knowledge_related_approval + ON knowledge_entries(related_approval_id) + WHERE related_approval_id IS NOT NULL; CREATE TABLE IF NOT EXISTS rag_chunks ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(),