-- 193_study_questions_embedding.sql (1/2)
-- study_questions 자동 임베딩 (PR-4). 문제 본문 + 보기 1~4 → bge-m3 1024차원.
--
-- embedding_status 권장값 (강한 enum 미사용, status 자체가 큐 역할):
--   none    — 신규 입력 (default, 한번도 임베딩 안 됨)
--   pending — 처리 진행 중 (race-safe 조건부 UPDATE 로 보호)
--   ready   — 완료
--   failed  — 실패 (재시도 가능). 직전 embedding 보존.
--   stale   — question_text/choice_1~4 변경되어 outdated. cron 이 다음 틱에 재계산.
--
-- 재계산 트리거: question_text / choice_1~4 변경. correct_choice·explanation·subject·scope 변경은 재계산 안 함.
-- 별도 큐 테이블 미신설 — embedding_status 가 큐 역할 (cron polling). ProcessingQueue 인프라 영향 없음.

ALTER TABLE study_questions
    ADD COLUMN IF NOT EXISTS embedding vector(1024),
    ADD COLUMN IF NOT EXISTS embedding_status VARCHAR(20) NOT NULL DEFAULT 'none',
    ADD COLUMN IF NOT EXISTS embedding_updated_at TIMESTAMPTZ,
    ADD COLUMN IF NOT EXISTS embedding_model VARCHAR(120);
