From 01b5606a3b52b79655c0f20b2113940a3298018d Mon Sep 17 00:00:00 2001 From: Florian Heinz Date: Sat, 24 Oct 2026 14:40:03 +0200 Subject: [PATCH] Repair missing live timer schema --- docs/ACCEPTANCE.md | 11 +++++++++++ docs/STATUS.md | 4 ++++ migrations/0014_live_show_timer_repair.sql | 18 ++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 migrations/0014_live_show_timer_repair.sql diff --git a/docs/ACCEPTANCE.md b/docs/ACCEPTANCE.md index 8653952..c3fa586 100644 --- a/docs/ACCEPTANCE.md +++ b/docs/ACCEPTANCE.md @@ -480,3 +480,14 @@ Für diese Erweiterung wurden auf ausdrücklichen Auftrag keine Tests erstellt u keine Typ-, Test-, Build-, Migrations- oder Browserläufe ausgeführt. Die oben dokumentierten früheren Prüfungen von 0.5.12 wurden nicht als Nachweis für die neuen Funktionen wiederverwendet. + +## Live-500-Korrektur 0.5.12 + +- Ursache auf einer schreibgeschützt untersuchten lokalen Datenbank bestätigt: + `0013` war protokolliert, `live_show_timer_runs` fehlte jedoch. +- `0014_live_show_timer_repair.sql` auf einer Kopie dieser Datenbank angewendet + und erneut ausgeführt; Tabelle und Indizes wurden angelegt, 13 bestehende + Intervalle genau einmal übernommen und ein offenes Intervall erhalten. +- `npm run check`: 0 Fehler und 0 Warnungen. +- `npm run test:unit -- --run src/lib/server/live.spec.ts`: 6 Tests erfolgreich. +- `npm run build`: erfolgreich mit `@sveltejs/adapter-node`. diff --git a/docs/STATUS.md b/docs/STATUS.md index 8c4e88d..8de9e72 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -9,6 +9,10 @@ Etappe 6 wurde nicht begonnen. ## Live-Regie und Sendungskalender 0.5.12 +- Reparaturmigration `0014_live_show_timer_repair.sql` ergänzt fehlende + Gesamttimertabellen auch dann, wenn `0013` bereits in einem früheren + Zwischenstand protokolliert wurde; der 500-Fehler beim Laden von `/live` ist + damit behoben - gemeinsame persistente Pause für Piece-, Abschnitts- und Gesamttimer; Fortsetzen zählt Pausenzeit weder nach Navigation noch nach Reload mit - getrennte bestätigungspflichtige Resets für Abschnitts- und Gesamtzeit, ohne diff --git a/migrations/0014_live_show_timer_repair.sql b/migrations/0014_live_show_timer_repair.sql new file mode 100644 index 0000000..ca8baf4 --- /dev/null +++ b/migrations/0014_live_show_timer_repair.sql @@ -0,0 +1,18 @@ +CREATE TABLE IF NOT EXISTS live_show_timer_runs ( + id TEXT PRIMARY KEY, + show_id TEXT NOT NULL REFERENCES shows(id) ON DELETE CASCADE, + started_at_utc TEXT NOT NULL, + ended_at_utc TEXT, + CHECK (ended_at_utc IS NULL OR ended_at_utc >= started_at_utc) +); + +CREATE UNIQUE INDEX IF NOT EXISTS idx_one_open_show_timer_run +ON live_show_timer_runs(show_id) +WHERE ended_at_utc IS NULL; + +CREATE INDEX IF NOT EXISTS idx_live_show_timer_runs_show +ON live_show_timer_runs(show_id, started_at_utc); + +INSERT OR IGNORE INTO live_show_timer_runs (id, show_id, started_at_utc, ended_at_utc) +SELECT 'migrated-' || id, show_id, started_at_utc, ended_at_utc +FROM live_usage_runs;