Ir al contenido

Historial de Entidades

El historial de entidades registra una instantánea de los valores de las entidades en cada creación, actualización y eliminación. Esto proporciona una auditoría completa con diferencias.

Habilita el historial en initializeRebaseBackend:

await initializeRebaseBackend({
// ...
history: true
});

O con configuraciones de retención personalizadas:

history: {
maxEntries: 200, // Per entity, oldest pruned first (default: 200)
ttlDays: 90 // Entries older than this are pruned (default: 90)
}

Marca qué colecciones deben rastrear el historial:

const ordersCollection: EntityCollection = {
slug: "orders",
history: true, // Enable for this collection
properties: { /* ... */ }
};
  1. El backend crea una tabla rebase.entity_history automáticamente
  2. En cada creación, actualización o eliminación, se registra una instantánea con:
    • ID de entidad, slug de colección y nombre de tabla
    • Los valores completos de la entidad (antes y después)
    • Marca de tiempo e ID de usuario
    • Tipo de operación (insert, update, delete)
  3. Las entradas antiguas se eliminan periódicamente (cada 6 horas)
GET /api/data/:slug/:entityId/history

Devuelve una lista de entradas del historial para una entidad específica, ordenadas por las más recientes primero:

{
"data": [
{
"id": 42,
"entity_id": "123",
"collection_slug": "orders",
"operation": "update",
"values": { "status": "shipped", "total": 99.99 },
"previous_values": { "status": "pending", "total": 99.99 },
"user_id": "admin-user-id",
"created_at": "2025-01-15T10:30:00Z"
}
]
}
ConfiguraciónPredeterminadoDescripción
maxEntries200Número máximo de entradas por entidad. Las más antiguas se eliminan.
ttlDays90Las entradas más antiguas que esto se eliminan.

El backend realiza una limpieza global cada 6 horas.