- Spegnimento
- 20 aprile 2026 alle ore 20:23 UTC
- Autore
- Kamo
- Impegno
- 3609afb
Aggiungere o rimuovere un RoleRightType non deve mai più richiedere la corsa KamoInitializerService. syncAll() ora esegue tre fasi su ogni startup: 1. I vincoli di guarigione — abbassare ogni vincolo CHECK su ogni porta destra tavolo e garantire i due vincoli unici upsert-required esistono. Hibernate cuoce valori enum in vincoli CHECK a TABELLA CREATA il tempo e non li aggiorna mai, e @UniqueConstraint solo prende effetto su TABELLA CREATA, così entrambi alla deriva ogni volta che gli enum si evolvono. @Enumerated già applica valori validi allo strato Java. 2. Eliminare i diritti orfani — DELETE DOVE right type NON IN (attuale enum) attraverso tutti e sei i tavoli portanti: # Org role rights # member rights, member rights applied, job title rights, dept rights. Maniglie sia ORDINAL int che STRING enum-name storage. 3. Inserire i diritti mancanti — invariati; si basa sui vincoli unici assicurata nella fase 1. Idempotent — sicuro da rifare. Aggiunta / rimozione dei valori di enum richiede ora Riavvia solo il SecurityService.