59 lines
2.2 KiB
SQL
59 lines
2.2 KiB
SQL
ALTER TABLE pieces ADD COLUMN output_title TEXT NOT NULL DEFAULT '';
|
|
ALTER TABLE piece_usages ADD COLUMN output_title_snapshot TEXT NOT NULL DEFAULT '';
|
|
|
|
CREATE TABLE piece_templates (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL UNIQUE,
|
|
description TEXT NOT NULL DEFAULT '',
|
|
snapshot_json TEXT NOT NULL CHECK (json_valid(snapshot_json)),
|
|
revision INTEGER NOT NULL DEFAULT 1 CHECK (revision >= 1),
|
|
created_at_utc TEXT NOT NULL,
|
|
updated_at_utc TEXT NOT NULL
|
|
);
|
|
|
|
INSERT INTO piece_templates (
|
|
id, name, description, snapshot_json, revision, created_at_utc, updated_at_utc
|
|
) VALUES
|
|
(
|
|
'talk', 'Gespräch',
|
|
'Leitfragen, Recherche und eine klare Überleitung.',
|
|
'{"title":"Unbenanntes Gespräch","formatId":"format-talk","moderationNotes":"## Leitfragen\n\n- ","categoryIds":["cat-jc"]}',
|
|
1, '2026-10-23T00:00:00.000Z', '2026-10-23T00:00:00.000Z'
|
|
),
|
|
(
|
|
'find', 'Reaction / Fundstück',
|
|
'Quelle, Einordnung und präsentierbare Kernaussage.',
|
|
'{"title":"Neues Fundstück","formatId":"format-find","presentationText":"## Kernaussage\n\n","categoryIds":["cat-reaction"]}',
|
|
1, '2026-10-23T00:00:00.000Z', '2026-10-23T00:00:00.000Z'
|
|
),
|
|
(
|
|
'interaction', 'Interaktion',
|
|
'Quiz, Publikumsfrage oder kleines Spiel.',
|
|
'{"title":"Neue Interaktion","formatId":"format-quiz","moderationNotes":"## Ablauf\n\n1. ","categoryIds":["cat-game"]}',
|
|
1, '2026-10-23T00:00:00.000Z', '2026-10-23T00:00:00.000Z'
|
|
);
|
|
|
|
CREATE TABLE planning_commands (
|
|
show_id TEXT NOT NULL REFERENCES shows(id) ON DELETE CASCADE,
|
|
command_id TEXT NOT NULL,
|
|
piece_id TEXT NOT NULL REFERENCES pieces(id) ON DELETE CASCADE,
|
|
usage_id TEXT NOT NULL REFERENCES piece_usages(id) ON DELETE CASCADE,
|
|
result_revision INTEGER NOT NULL CHECK (result_revision >= 1),
|
|
created_at_utc TEXT NOT NULL,
|
|
PRIMARY KEY (show_id, command_id)
|
|
);
|
|
|
|
CREATE TABLE presentation_channels (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
access_key TEXT NOT NULL,
|
|
key_hash TEXT NOT NULL UNIQUE,
|
|
show_id TEXT REFERENCES shows(id) ON DELETE SET NULL,
|
|
revision INTEGER NOT NULL DEFAULT 0 CHECK (revision >= 0),
|
|
created_at_utc TEXT NOT NULL,
|
|
updated_at_utc TEXT NOT NULL
|
|
);
|
|
|
|
UPDATE presentation_access_tokens
|
|
SET revoked_at_utc = COALESCE(revoked_at_utc, '2026-10-23T00:00:00.000Z');
|