21 lines
635 B
MySQL
21 lines
635 B
MySQL
|
|
-- Migration 041: Super-Admin für bestehende Installationen
|
||
|
|
-- Bisheriger Bootstrap (registration_role) setzte nur 'admin'. Viele Endpunkte
|
||
|
|
-- (z. B. Verein löschen, Super-Rolle vergeben) verlangen 'superadmin'.
|
||
|
|
-- Wenn noch kein Super-Admin existiert: den ältesten Nutzer mit role = admin hochstufen.
|
||
|
|
|
||
|
|
UPDATE profiles p
|
||
|
|
SET role = 'superadmin', updated_at = NOW()
|
||
|
|
FROM (
|
||
|
|
SELECT id
|
||
|
|
FROM profiles
|
||
|
|
WHERE lower(trim(COALESCE(role, ''))) = 'admin'
|
||
|
|
ORDER BY id ASC
|
||
|
|
LIMIT 1
|
||
|
|
) sub
|
||
|
|
WHERE p.id = sub.id
|
||
|
|
AND NOT EXISTS (
|
||
|
|
SELECT 1
|
||
|
|
FROM profiles
|
||
|
|
WHERE lower(trim(COALESCE(role, ''))) = 'superadmin'
|
||
|
|
);
|