L'allenatore è uno slot di giocatori_squadra con tipo = 'allenatore' (DD-034): - M20 aggiunge il valore allenatore ad app_role, da solo perché Postgres non lascia usare un valore di enum nella transazione che lo crea; - M21 aggiunge la colonna tipo, rende numero nullabile solo per gli allenatori, blocca tipo nel trigger sugli slot e lascia all'allenatore nome e cognome del proprio slot; un trigger tiene allineato il ruolo in user_roles al collegamento; - eventi_app scrivibile da admin e allenatori; presenze, cacche e voti chiusi all'allenatore; i promemoria evento lo includono sempre. Compatibile con la 0.9.2: senza allenatori registrati non cambia nulla. Già applicata in produzione con supabase db push; g18 «Beta Tester» è allenatore. Il test permessi-allenatore verifica le regole contro il database locale. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
7 lines
301 B
SQL
7 lines
301 B
SQL
-- M20 — Nuovo valore `allenatore` per `app_role` (DD-034).
|
|
--
|
|
-- Sta da solo perché Postgres non permette di usare un valore di enum nella stessa
|
|
-- transazione che lo aggiunge: le policy e le funzioni che lo citano stanno in M21.
|
|
|
|
ALTER TYPE public.app_role ADD VALUE IF NOT EXISTS 'allenatore';
|