feat(migrate): agregar migración de datos seed para roles y módulos

20260304_roles_seed_data.sql — inicializa datos en roles/role_modules
y vincula admin_users.role_id. Todos los statements son idempotentes
(UPDATE + INSERT IGNORE), por lo que se pueden re-ejecutar sin problemas.

Esto asegura que en cualquier deploy los módulos de rol y los colores
estén correctos, aunque la migración DDL ya haya sido registrada.
This commit is contained in:
Lizandro Guarnizo
2026-03-12 10:24:52 -05:00
parent 33dfc0cf71
commit 81bdda2ca3
+33
View File
@@ -0,0 +1,33 @@
-- ============================================================
-- Migración: Datos iniciales de roles y módulos
-- Fecha: 2026-03-04
-- Descripción: Inserta/corrige datos en roles, role_modules
-- y vincula admin_users.role_id. Idempotente.
-- ============================================================
-- Corregir colores de roles del sistema
UPDATE `roles` SET `color` = '#0d6efd' WHERE `slug` = 'admin';
UPDATE `roles` SET `color` = '#6f42c1' WHERE `slug` = 'enfermero';
-- Módulos para el rol Administrador (todos)
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`) VALUES
(1, 'whatsapp'),
(1, 'lab_dashboard'),
(1, 'lab_ordenes'),
(1, 'lab_pacientes'),
(1, 'lab_domicilios'),
(1, 'lab_enfermeras'),
(1, 'lab_formularios'),
(1, 'lab_reportes'),
(1, 'lab_configuracion'),
(1, 'usuarios');
-- Módulos para el rol Enfermero
INSERT IGNORE INTO `role_modules` (`role_id`, `module_slug`) VALUES
(2, 'enfermero_portal'),
(2, 'lab_formularios');
-- Vincular usuarios admin existentes con role_id
UPDATE `admin_users` SET `role_id` = 1 WHERE `role` = 'admin' AND `role_id` IS NULL;
UPDATE `admin_users` SET `role_id` = 2 WHERE `role` = 'enfermero' AND `role_id` IS NULL;
UPDATE `admin_users` SET `role_id` = 1 WHERE `role_id` IS NULL;