-- Gruppen/Abteilungen mit Rollenzuweisung auf Gruppenebene (RBAC-03, siehe -- core-kanban/tickets/RBAC-03.md). Lebt in der Tenant-Datenbank (Modell C) — -- Gruppen sind implizit tenant-isoliert, da jede Tenant-DB ihre eigenen hat. CREATE TABLE groups ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name TEXT NOT NULL, role TEXT CHECK (role IN ('user', 'tenant_admin')), created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); -- ON DELETE CASCADE: Loeschen einer Gruppe entzieht die gruppenbasierten -- Rechte automatisch, ohne Benutzerkonten selbst zu beruehren -- (Akzeptanzkriterium 3). CREATE TABLE group_members ( group_id UUID NOT NULL REFERENCES groups(id) ON DELETE CASCADE, user_id UUID NOT NULL REFERENCES users(id), added_at TIMESTAMPTZ NOT NULL DEFAULT now(), PRIMARY KEY (group_id, user_id) ); CREATE INDEX group_members_user_idx ON group_members (user_id);