-- 235_study_quiz_session_analysis.sql -- Phase 4-B v1: 세션 단위 분석 결과 캐시. session_id PK — 한 세션 = 한 분석. -- worker 가 ON CONFLICT DO UPDATE 로 UPSERT. job 이력은 별도 누적, 결과 캐시는 1 row. -- is_stale=TRUE 는 사용자 [재생성] 클릭 후 worker 처리 끝까지만. 워커가 마지막에 FALSE 로 다시 박음. CREATE TABLE study_quiz_session_analysis ( study_quiz_session_id BIGINT PRIMARY KEY REFERENCES study_quiz_sessions(id) ON DELETE CASCADE, user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE, summary_md TEXT NOT NULL, confidence VARCHAR(10), model_name VARCHAR(120), generated_at TIMESTAMPTZ NOT NULL DEFAULT now(), is_stale BOOLEAN NOT NULL DEFAULT FALSE );