-- Migración: Agregar sistema de permisos por mecánico para checklists -- Fecha: 2025-11-25 -- Descripción: Crea tabla intermedia para controlar qué mecánicos pueden usar cada checklist -- Crear tabla de permisos checklist-mecánico CREATE TABLE IF NOT EXISTS checklist_permissions ( id SERIAL PRIMARY KEY, checklist_id INTEGER NOT NULL REFERENCES checklists(id) ON DELETE CASCADE, mechanic_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE, created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, -- Constraint para evitar duplicados UNIQUE(checklist_id, mechanic_id) ); -- Crear índices para mejorar rendimiento CREATE INDEX idx_checklist_permissions_checklist ON checklist_permissions(checklist_id); CREATE INDEX idx_checklist_permissions_mechanic ON checklist_permissions(mechanic_id); -- Comentarios para documentación COMMENT ON TABLE checklist_permissions IS 'Control de acceso de mecánicos a checklists. Si no hay registros para un checklist, todos los mecánicos tienen acceso.'; COMMENT ON COLUMN checklist_permissions.checklist_id IS 'ID del checklist restringido'; COMMENT ON COLUMN checklist_permissions.mechanic_id IS 'ID del mecánico autorizado'; -- Verificar que la migración se ejecutó correctamente SELECT 'Tabla checklist_permissions creada exitosamente' AS status;