BEGIN; -- Zwei-Ebenen-Webapp-Modell (Nutzer-Entscheidung 09.09.2026, Ergänzung zum -- bisherigen rein kundeneigenen workspace_webapps aus Migration 0032): -- Admin kann global wiederverwendbare Vorlagen anlegen ("bereitstellen und -- zur Auswahl stellen"), die Kunden pro Workspace aktivieren können - -- zusätzlich zu weiterhin frei erstellbaren eigenen Einträgen. CREATE TABLE webapp_templates ( id UUID PRIMARY KEY, name TEXT NOT NULL, url TEXT NOT NULL, description TEXT, icon_filename TEXT, icon_content_type TEXT, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); -- Nullable, gesetzt wenn ein workspace_webapps-Eintrag durch Aktivieren -- einer Vorlage entstanden ist (Name/URL/Icon werden beim Aktivieren -- KOPIERT, nicht referenziert - eine spätere Vorlagenänderung wirkt sich -- nicht rückwirkend auf schon aktivierte Einträge aus, analog zu -- Bereitstellungsvorlagen-Snapshots an anderer Stelle im System). -- ON DELETE SET NULL statt CASCADE: eine gelöschte Vorlage soll bereits -- aktivierte Einträge nicht mitreißen, nur die Aktivierungs-Historie -- kappen. ALTER TABLE workspace_webapps ADD COLUMN template_id UUID REFERENCES webapp_templates(id) ON DELETE SET NULL; COMMIT;