Buscar en la documentación

incident_comments

Mensajes de la conversación de cada incidente.

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

Un mensaje por fila de la conversación de un incidente: quién lo escribió, qué dijo y cuándo (ADR-0076). Quien lo escribió puede borrarlo durante 5 minutos; la fila queda, el texto se vacía y la conversación muestra “Mensaje eliminado”.

ColumnaTipoRestriccionesDescripción
idBIGINT UNSIGNEDPKClave interna; también ordena la conversación
ulidCHAR(26)UNIQUE, NOT NULLIdentificador público del mensaje (API)
incident_idBIGINT UNSIGNEDFK → incidents, NOT NULLIncidente al que pertenece
user_idBIGINT UNSIGNEDFK → users, NOT NULLQuién lo escribió
bodyVARCHAR(2000)NULL solo si se borróEl mensaje tal como se escribió (sin espacios en los extremos)
created_atTIMESTAMPNOT NULLCuándo se escribió (UTC)
deleted_atTIMESTAMPNULLCuándo lo borró quien lo escribió

Restricciones

RestricciónRegla
chk_incident_comments_body(deleted_at IS NULL) = (body IS NOT NULL): un mensaje en pie tiene texto y uno borrado no lo tiene
FK incident_id, user_idRESTRICT: ni el incidente ni la persona se borran mientras tengan mensajes; los incidentes se eliminan de forma lógica y las personas se desactivan

Índices

ÍndiceUso
ulid (único)Encontrar un mensaje para borrarlo y pedir los anteriores a uno (before)
(incident_id, id)Leer la conversación de un incidente del más nuevo al más viejo, de a 50, y contar sus mensajes

Sin updated_at

Los mensajes no se editan: lo único que cambia es el borrado, que tiene su propia columna.

Dónde está en el código