KamoCRM

Rendere RoleRightsSyncService completamente self-healing su ogni boot

FeatureSecurityService
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.

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo