Files
whatsapp/migrations/001_rbac_expandido.sql
T
2026-04-16 22:23:33 -05:00

28 lines
1.5 KiB
SQL

-- =============================================================================
-- Migración 001 — RBAC expandido
-- Agrega columnas de permisos granulares a role_modules.
-- Proyecto: WhatsApp ERP Multi-módulo
-- Fecha: 2026-04-16
-- IMPORTANTE: Migración ADITIVA. No elimina ni renombra columnas existentes.
-- =============================================================================
-- Ampliar table role_modules con permisos por acción
ALTER TABLE role_modules
ADD COLUMN IF NOT EXISTS can_view TINYINT(1) NOT NULL DEFAULT 1 COMMENT 'Puede ver el módulo',
ADD COLUMN IF NOT EXISTS can_create TINYINT(1) NOT NULL DEFAULT 0 COMMENT 'Puede crear registros',
ADD COLUMN IF NOT EXISTS can_edit TINYINT(1) NOT NULL DEFAULT 0 COMMENT 'Puede editar registros',
ADD COLUMN IF NOT EXISTS can_delete TINYINT(1) NOT NULL DEFAULT 0 COMMENT 'Puede eliminar registros',
ADD COLUMN IF NOT EXISTS can_export TINYINT(1) NOT NULL DEFAULT 0 COMMENT 'Puede exportar datos',
ADD COLUMN IF NOT EXISTS extra_json JSON NULL COMMENT 'Permisos extras específicos del módulo (JSON)';
-- Retrocompatibilidad: los registros existentes con permission='write' reciben can_create/edit/delete = 1
UPDATE role_modules
SET can_create = 1, can_edit = 1, can_delete = 1, can_export = 1
WHERE permission = 'write' OR permission IS NULL;
-- Los que tienen permission='read' solo tienen can_view = 1 (ya es el DEFAULT, no tocar)
-- Registrar migración
INSERT IGNORE INTO migrations (migration, executed_at)
VALUES ('001_rbac_expandido', NOW());