Skip to main content
Forma B — append-only, particionada mensual. Es la tabla que sostiene R15 y ADR-017: cada command handler escribe acá en la misma transacción que el cambio de estado y el evento del outbox. Si alguna de las tres falla, las tres se revierten. Que exista con el diff completo es la razón por la que created_by y updated_by están prohibidos como columnas base (ADR-024): quién hizo qué ya vive acá, con más detalle y en un solo lugar.

Clave primaria

Atributos específicos

Claves foráneas

Atributos base

Restricciones e índices

RLS y particionamiento

RLS activa por tenant_id. Particionada RANGE mensual sobre occurred_at (standards/data.md §4). Un cron pre-crea las particiones N+2 meses y existe una partición DEFAULT que alerta si alguna vez recibe una fila. Anti-ejemplo: SELECT * FROM core.audit_log WHERE entity_id = $1 — INCORRECTO, falta el predicado de partición.

Registro de cambios