Buscar en la documentación

incident_activities

Historial inmutable de cada incidente.

Módulo incidents2 min de lecturaVer en el diagramaVer en GitHub

Cada cambio de un incidente queda registrado aquí: quién, qué y cuándo. Es la base del historial del detalle y de la auditoría global. Es de solo escritura: el modelo impide editar o borrar un registro y las claves foráneas impiden borrar lo que referencia.

ColumnaTipoRestriccionesDescripción
idBIGINT UNSIGNEDPK
incident_idBIGINT UNSIGNEDFK → incidents, RESTRICT
user_idBIGINT UNSIGNEDFK → users, RESTRICTQuién hizo el cambio
activity_type_idTINYINT UNSIGNEDFK → activity_types, RESTRICT
changesJSONNULLValores anteriores y nuevos
noteVARCHAR(1000)NULLLo que escribió la persona: la solución, el motivo de cancelar, de pedir, rechazar o hacer una reapertura (ADR-0071)
ip_addressVARCHAR(45)NULLAlcanza para IPv6. Vacía en el historial de los datos de demostración, que no viene de una petición
user_agentVARCHAR(255)NULL
created_atTIMESTAMPNOT NULLSin updated_at: el registro no cambia

Índices

ÍndiceConsulta que atiende
(incident_id, created_at)Historial del detalle, en orden
(user_id, created_at)Actividad por usuario en la auditoría global
(activity_type_id)Filtro por tipo (y su FK)
(created_at)Auditoría global sin filtros, de lo más reciente a lo más antiguo; InnoDB agrega el id, que es el desempate del cursor
(activity_type_id, created_at)Auditoría global filtrada por un tipo

Esta es la tabla que más crece. Su estrategia de crecimiento (archivado en lugar de particionamiento, para conservar las FK) está en ADR-0014.

Dónde está en el código