fix(migration): split 102 ask_events into single-statement files

asyncpg cannot insert multiple commands into a prepared statement.
102 = CREATE TABLE only, 103 = CREATE INDEX only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-10 08:52:26 +09:00
parent 06443947bf
commit 1beba3402b
2 changed files with 5 additions and 12 deletions

View File

@@ -1,26 +1,18 @@
-- Phase 3.5a: /ask 호출 관측 테이블
-- refusal rate 측정, 지표 3 분리 (full/partial/insufficient), defense layer 디버깅
CREATE TABLE IF NOT EXISTS ask_events ( CREATE TABLE IF NOT EXISTS ask_events (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
query TEXT NOT NULL, query TEXT NOT NULL,
user_id BIGINT REFERENCES users(id), user_id BIGINT REFERENCES users(id),
completeness TEXT, -- full / partial / insufficient completeness TEXT,
synthesis_status TEXT, synthesis_status TEXT,
confidence TEXT, confidence TEXT,
refused BOOLEAN DEFAULT false, refused BOOLEAN DEFAULT false,
classifier_verdict TEXT, -- sufficient / insufficient / null (skipped) classifier_verdict TEXT,
max_rerank_score REAL, max_rerank_score REAL,
aggregate_score REAL, aggregate_score REAL,
hallucination_flags JSONB DEFAULT '[]', hallucination_flags JSONB DEFAULT '[]',
evidence_count INT, evidence_count INT,
citation_count INT, citation_count INT,
defense_layers JSONB, -- per-layer flag snapshot (score_gate, classifier, grounding) defense_layers JSONB,
total_ms INT, total_ms INT,
created_at TIMESTAMPTZ DEFAULT now() created_at TIMESTAMPTZ DEFAULT now()
); )
CREATE INDEX IF NOT EXISTS idx_ask_events_created ON ask_events(created_at);
CREATE INDEX IF NOT EXISTS idx_ask_events_completeness ON ask_events(completeness);
INSERT INTO schema_migrations (version) VALUES (102);

View File

@@ -0,0 +1 @@
CREATE INDEX IF NOT EXISTS idx_ask_events_created ON ask_events(created_at)