- Verschifft
- 20. April 2026 um 20:23 UTC
- Autor
- Kamo
- Ausschuss
- 3609afb
Das Hinzufügen oder Entfernen eines RoleRightType darf nie wieder laufen KamoInitializerService. syncAll() läuft jetzt drei Phasen auf jedem Start: 1. Heal-Beschränkungen - lassen Sie jede CHECK-Beschränkung auf jede Rechtsträgerin fallen Tabelle und stellen Sie sicher, dass die beiden upsert-erforderlichen einzigartigen Einschränkungen existieren. Hibernate backt Enum-Werte in CHECK Einschränkungen bei CREATE TABLE Zeit und aktualisiert sie nie, und @UniqueConstraint wirkt nur auf CREATE TABLE, so dass beide driften, wenn Enums entwickeln. @Aufgezählt bereits gültige Werte in der Java-Layer setzt sie auf. 2. Verwaiste Rechte löschen - DELETE WHERE right_type NOT IN (current enum) Über alle sechs rechtsgelagerten Tabellen: org_role_rights, **************** member_rights, member_rights_applied, job_title_rights, dept_rights. Griffe sowohl ORDINAL int und STRING enum-name Lagerung. 3. fehlende Rechte einfügen - unverändert; sich auf die einzigartigen Einschränkungen verlässt in Phase 1 sichergestellt. Idempotent - sicher zu wiederholen. Hinzufügen/Entfernen von Enum-Werten erfordert jetzt nur der Neustart von SecurityService.