-- Rollenzuweisung pro Benutzer (RBAC-01, siehe core-kanban/tickets/RBAC-01.md). -- Nur 'user' und 'tenant_admin' sind hier zuweisbar — 'superadmin' lebt -- mandantenuebergreifend in der Registry (IAM-01 SuperadminStore) und hat -- daher bewusst KEINE Zeile in dieser tenant-lokalen Tabelle (Akzeptanz- -- kriterium 1: nur Zuweisungen innerhalb der erlaubten Matrix). CREATE TABLE role_assignments ( user_id UUID PRIMARY KEY REFERENCES users(id), role TEXT NOT NULL CHECK (role IN ('user', 'tenant_admin')), granted_by TEXT NOT NULL, granted_at TIMESTAMPTZ NOT NULL DEFAULT now() ); -- Vollstaendige Historie jeder Rollenaenderung (Akzeptanzkriterium 3: wer -- hat wann welche Rolle vergeben). CREATE TABLE role_assignment_history ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), user_id UUID NOT NULL, role TEXT NOT NULL, granted_by TEXT NOT NULL, granted_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX role_assignment_history_user_idx ON role_assignment_history (user_id, granted_at);