-- 191_study_questions_ai_explanation.sql (1/2) -- study_questions 에 AI 풀이 캐시 4 컬럼 추가. -- -- ai_explanation_status 권장값 (강한 enum 미사용): -- none — 미생성 (default) -- pending — 동기 생성 진행 중. race-safe 전이 (조건부 UPDATE) 로 보호. -- ready — 본문 사용 가능 -- failed — 생성 실패 (MLX 에러 / 네트워크 / JSON 파싱). 재시도 가능. 직전 본문은 보존. -- stale — question_text/choice_*/correct_choice 변경 후 outdated. 본문은 표시하되 배지 + "다시 생성" 버튼. -- -- ALTER 4 컬럼은 콤마 분리한 단일 statement (asyncpg exec_driver_sql 호환). ALTER TABLE study_questions ADD COLUMN IF NOT EXISTS ai_explanation TEXT, ADD COLUMN IF NOT EXISTS ai_explanation_status VARCHAR(20) NOT NULL DEFAULT 'none', ADD COLUMN IF NOT EXISTS ai_explanation_generated_at TIMESTAMPTZ, ADD COLUMN IF NOT EXISTS ai_explanation_model VARCHAR(120);