-- Profile Admin Management — Phase E -- Felder für Admin-User-Management: -- * banned → BOOLEAN, default false -- * banned_at → TIMESTAMP, gesetzt wenn banned=true -- * banned_reason → TEXT, optional Note vom Admin -- * deleted_at → TIMESTAMP, soft-delete (DSGVO Art. 17, scrubbed PII) -- -- Soft-Delete-Strategie: -- nickname → NULL, username → 'deleted-{shortid}', avatar → NULL, -- demographics → cleared. auth.users-Eintrag bleibt zunächst (manueller -- Hard-Delete via Supabase-Admin-API in separater Operation). -- -- Drift-Hinweis: Diese Migration wird via `pnpm prisma migrate deploy` auf -- staging-/prod-DB gefahren. Lokal NICHT ausführen. Falls Drift erkannt wird: -- pnpm prisma migrate resolve --applied 20260509_profile_admin_management ALTER TABLE "rebreak"."profiles" ADD COLUMN IF NOT EXISTS "banned" BOOLEAN NOT NULL DEFAULT false, ADD COLUMN IF NOT EXISTS "banned_at" TIMESTAMP(3), ADD COLUMN IF NOT EXISTS "banned_reason" TEXT, ADD COLUMN IF NOT EXISTS "deleted_at" TIMESTAMP(3); -- Performance: Admin-User-Liste filtert oft auf nicht-gelöschte / nicht-gebannte CREATE INDEX IF NOT EXISTS "profiles_deleted_at_idx" ON "rebreak"."profiles" ("deleted_at"); CREATE INDEX IF NOT EXISTS "profiles_plan_idx" ON "rebreak"."profiles" ("plan");