- Migration 084: track_lyrics table - TrackLyrics model, GetLyrics, CreateOrUpdateLyrics in TrackService - GET /tracks/:id/lyrics, PUT /tracks/:id/lyrics (owner only) - Frontend: TrackLyricsSection with show/hide toggle, Lyrics tab - trackService: getLyrics, updateLyrics - MSW: handlers for lyrics
13 lines
459 B
SQL
13 lines
459 B
SQL
-- 084_add_track_lyrics.sql
|
|
-- Store lyrics per track (E3)
|
|
|
|
CREATE TABLE public.track_lyrics (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
track_id UUID NOT NULL REFERENCES public.tracks(id) ON DELETE CASCADE,
|
|
content TEXT NOT NULL DEFAULT '',
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
UNIQUE(track_id)
|
|
);
|
|
|
|
CREATE INDEX idx_track_lyrics_track_id ON public.track_lyrics(track_id);
|