-- 147_audio_segments_table.sql
-- Document Server 통합 플랫폼 Section 3: audio_segments 테이블 정의 (1/2)
-- plan: luminous-sprouting-hamster.md §3
--
-- asyncpg single-statement 규칙에 따라 테이블 생성만 담당. 인덱스는 148.
-- STT (faster-whisper) 결과의 타임스탬프 단위 세그먼트.
-- documents.extracted_text 에는 전체 전사 텍스트를 저장 (classify/embed 재사용),
-- 본 테이블은 AudioPlayer 에서 줄 클릭 → audio.currentTime = start_s 점프에 사용.
-- ON DELETE CASCADE — 문서 물리 삭제 시 세그먼트 정리.

CREATE TABLE IF NOT EXISTS audio_segments (
  id          BIGSERIAL PRIMARY KEY,
  document_id BIGINT NOT NULL REFERENCES documents(id) ON DELETE CASCADE,
  start_s     REAL NOT NULL,
  end_s       REAL NOT NULL,
  text        TEXT NOT NULL
);
