Legg til transcription_segments-migrasjon (oppgave 7.5)
Oppretter tabellen som lagrer transkripsjons-segmenter med tidsstempler. Master-kopi for alle transkripsjoner — SRT og ren tekst er avledede formater. Inkluderer GIN-indeks for norsk fulltekstsøk og unik constraint per kjøring. Ref: docs/concepts/podcastfabrikken.md § 3 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
edafbc9a12
commit
af14edd671
1 changed files with 26 additions and 0 deletions
26
migrations/005_transcription_segments.sql
Normal file
26
migrations/005_transcription_segments.sql
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
-- Migration 005: Transkripsjonssegmenter
|
||||||
|
-- Ref: docs/concepts/podcastfabrikken.md § 3
|
||||||
|
--
|
||||||
|
-- Master-kopi av alle transkripsjoner. SRT og ren tekst er avledede
|
||||||
|
-- eksportformater som genereres fra denne tabellen.
|
||||||
|
-- Universell for all lyd: podcast, møter, voice memos.
|
||||||
|
|
||||||
|
CREATE TABLE transcription_segments (
|
||||||
|
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
||||||
|
node_id UUID NOT NULL REFERENCES nodes(id) ON DELETE CASCADE,
|
||||||
|
transcribed_at TIMESTAMPTZ NOT NULL, -- grupperer segmenter fra samme kjøring
|
||||||
|
seq INT NOT NULL,
|
||||||
|
start_ms INT NOT NULL,
|
||||||
|
end_ms INT NOT NULL,
|
||||||
|
content TEXT NOT NULL,
|
||||||
|
edited BOOLEAN DEFAULT false,
|
||||||
|
|
||||||
|
UNIQUE (node_id, transcribed_at, seq)
|
||||||
|
);
|
||||||
|
|
||||||
|
-- Hovedindeks for oppslag: hent segmenter for en node, sortert
|
||||||
|
CREATE INDEX idx_segments_node ON transcription_segments (node_id, transcribed_at, seq);
|
||||||
|
|
||||||
|
-- Fulltekstsøk på tvers av transkripsjoner (norsk)
|
||||||
|
CREATE INDEX idx_segments_fts ON transcription_segments
|
||||||
|
USING gin(to_tsvector('norwegian', content));
|
||||||
Loading…
Add table
Reference in a new issue