Cronologia Entità
Overview
Sezione intitolata “Overview”La cronologia delle entità registra uno snapshot dei valori delle entità ad ogni creazione, aggiornamento ed eliminazione. Questo ti fornisce una traccia di audit completa con differenze.
Enabling History
Sezione intitolata “Enabling History”Backend
Sezione intitolata “Backend”Abilita la cronologia in initializeRebaseBackend:
await initializeRebaseBackend({ // ... history: true});Oppure con impostazioni di conservazione personalizzate:
history: { maxEntries: 200, // Per entità, i più vecchi vengono eliminati per primi (predefinito: 200) ttlDays: 90 // Le voci più vecchie di questo periodo vengono eliminate (predefinito: 90)}Per Collection
Sezione intitolata “Per Collection”Indica quali collezioni devono tracciare la cronologia:
const ordersCollection: EntityCollection = { slug: "orders", history: true, // Abilita per questa collezione properties: { /* ... */ }};Come funziona
Sezione intitolata “Come funziona”- Il backend crea automaticamente una tabella
rebase.entity_history - Ad ogni creazione, aggiornamento o eliminazione, viene registrato uno snapshot con:
- ID entità, slug della collezione e nome della tabella
- I valori completi dell’entità (prima e dopo)
- Timestamp e ID utente
- Tipo di operazione (
insert,update,delete)
- Le voci obsolete vengono eliminate periodicamente (ogni 6 ore)
REST Endpoint
Sezione intitolata “REST Endpoint”GET /api/data/:slug/:entityId/historyRestituisce un elenco di voci della cronologia per una specifica entità, ordinate dalla più recente alla meno recente:
{ "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" } ]}Retention Configuration
Sezione intitolata “Retention Configuration”| Impostazione | Predefinito | Descrizione |
|---|---|---|
maxEntries | 200 | Numero massimo di voci per entità. Le più vecchie vengono eliminate. |
ttlDays | 90 | Le voci più vecchie di questo periodo vengono eliminate. |
Il backend esegue una pulizia globale ogni 6 ore.
Next Steps
Sezione intitolata “Next Steps”- Callback dell’Entità — Hook del ciclo di vita
- Panoramica del Backend — Configurazione completa del backend