Tracevault
OverviewInstallWritingQueryModelo de datos

Forma

Cada evento cae en una fila JSONB-first. No hay columnas old_values / new_values separadas — la librería se mantiene orientada a eventos. Mirá el SQL en node_modules/tracevault/sql/ o usá generateInitSql para DDL combinado equivalente.

ColumnaTipoNotas
idUUIDGenerado por evento.
eventVARCHARNombre del evento (obligatorio en emit).
actor_idVARCHARNullable.
actor_typeVARCHARNullable.
target_idVARCHARNullable.
target_typeVARCHARNullable.
dataJSONBPayload libre.
metaJSONBMetadata libre.
modeVARCHARsync | async.
occurred_atTIMESTAMPTZProvisto o generado al emitir.
created_atTIMESTAMPTZDefault now() en DB.
correlation_idVARCHARNullable.
request_idVARCHARNullable.
environmentVARCHARNullable.
outcomeVARCHAR(64)Generado (002+). NULLIF(BTRIM(data->>'outcome'),''). Omitido en insert.
error_codeVARCHAR(255)Generado. NULLIF(BTRIM(data->'error'->>'code'),''). Omitido en insert.
severityVARCHAR(32)Generado (003+). NULLIF(BTRIM(data->>'severity'),''). Omitido en insert.

Índices (por defecto)

Lectura

Las columnas generadas existen para lecturas indexadas y acotadas vía audit.query. Para analytics, filtros JSONB o joins, usá la herramienta SQL que ya tenés — Tracevault no bloquea acceso raw.

Referencia canónica: README.