-- 261002-icv — Freigabestufe fuer Modul-Freigaben: Benutzen (USE) und -- Verwalten (MANAGE). -- -- Zweck: jede Zeile in "ModuleGrant" bekommt eine Stufe. USE ist der Bestand -- und der Standard (Modul oeffnen und benutzen). MANAGE erlaubt zusaetzlich, -- die eigenen Einstellungen dieses einen Moduls zu aendern. Freigaben -- erteilen, Module aktivieren und die uebrige Verwaltung bleiben -- Administratoren vorbehalten (das erzwingt die Anwendung, nicht diese -- Migration). -- -- Bestandsdaten: durch den DEFAULT 'USE' werden alle vorhandenen Freigaben zu -- USE — niemand gewinnt durch die Migration Rechte. -- -- Von Hand geschrieben (Vorbild 20261002120000_kantine_datev_config). -- -- Zeilenschutz: keine neue Tabelle. Die vorhandenen Regeln auf "ModuleGrant" -- filtern Zeilen, nicht Spalten, und bleiben unveraendert — rls-coverage -- braucht nichts. PostgreSQL gewaehrt USAGE auf neue Typen automatisch an -- PUBLIC, die Anwendungsrolle tessera_app kann den Aufzaehlungstyp also -- verwenden. -- -- WICHTIG: wie alle bisherigen RLS-Migrationen wirken die Zeilenregeln erst, -- wenn die Anwendung als Rolle ohne Umgehungsrecht verbindet (Schalter -- heute AUS, siehe docs/mandantentrennung-datenbankrolle.md). CREATE TYPE "ModuleGrantLevel" AS ENUM ('USE', 'MANAGE'); ALTER TABLE "ModuleGrant" ADD COLUMN "level" "ModuleGrantLevel" NOT NULL DEFAULT 'USE';