Appearance
Trigger y Orden Canónico
El sistema posee un trigger en la tabla modulos_acciones.
Este trigger se ejecuta automáticamente cuando se crea una acción nueva.
Su función es:
Insertar automáticamente registros en roles_acciones para todos los roles que ya tengan asignado el módulo correspondiente en roles_modulos.
¿Qué problema resuelve?
Evita:
- Insertar manualmente cientos de permisos.
- Inconsistencias entre roles.
- Olvidos humanos.
- Estados parciales.
Garantiza consistencia automática.
Consecuencia crítica: Orden obligatorio
El sistema impone un orden canónico de creación.
Si el orden se rompe, el modelo queda inconsistente.
Orden correcto:
- Crear roles.
- Crear módulo.
- Asignar módulo a roles (
roles_modulos). - Crear acciones (
modulos_acciones) → el trigger asigna automáticamente. - Limpiar rol LITE (si aplica).
- (Opcional) Backfill defensivo.
¿Qué pasa si se crean acciones antes de asignar el módulo?
El trigger no asigna nada.
Resultado:
- Huecos invisibles en
roles_acciones. - Permisos faltantes.
- Inconsistencias difíciles de detectar.
Regla de oro
Nunca crear acciones antes de asignar el módulo a los roles.
El trigger depende de roles_modulos.
No es un detalle. Es un contrato estructural del sistema.