36fea2789a
asyncpg 의 prepared statement 가 multi-statement 불허. Phase 4 101 SQL 은 2026-04-08 적용 당시엔 통과했지만 현재 asyncpg/sqlalchemy 버전에서 fail. 255_morning_briefings_table.sql CREATE TABLE morning_briefings 256_morning_briefings_idx.sql CREATE INDEX (briefing_date) 257_briefing_topics_table.sql CREATE TABLE briefing_topics + UNIQUE 258_briefing_topics_idx.sql CREATE INDEX (briefing_id, topic_rank)
20 lines
891 B
SQL
20 lines
891 B
SQL
-- Morning Briefing 부모 테이블 (일일 1행, briefing_date UNIQUE).
|
|
-- asyncpg prepared statement 가 multi-statement 불허라 인덱스 + 자식 테이블은 별 migration.
|
|
CREATE TABLE morning_briefings (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
briefing_date DATE NOT NULL,
|
|
window_start TIMESTAMPTZ NOT NULL,
|
|
window_end TIMESTAMPTZ NOT NULL,
|
|
decay_lambda DOUBLE PRECISION NOT NULL,
|
|
total_articles INTEGER NOT NULL DEFAULT 0,
|
|
total_countries INTEGER NOT NULL DEFAULT 0,
|
|
total_topics INTEGER NOT NULL DEFAULT 0,
|
|
generation_ms INTEGER,
|
|
llm_calls INTEGER NOT NULL DEFAULT 0,
|
|
llm_failures INTEGER NOT NULL DEFAULT 0,
|
|
status VARCHAR(20) NOT NULL DEFAULT 'success',
|
|
headline_oneliner TEXT,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
UNIQUE (briefing_date)
|
|
)
|