Entitätshistorie
Übersicht
Abschnitt betitelt „Übersicht“Die Entitätshistorie zeichnet bei jeder Erstellung, Aktualisierung und Löschung eine Momentaufnahme der Entitätswerte auf. Dies bietet Ihnen einen vollständigen Audit-Trail mit Diffs.
Historie aktivieren
Abschnitt betitelt „Historie aktivieren“Backend
Abschnitt betitelt „Backend“Aktivieren Sie die Historie in initializeRebaseBackend:
await initializeRebaseBackend({ // ... history: true});Oder mit benutzerdefinierten Aufbewahrungseinstellungen:
history: { maxEntries: 200, // Pro Entität, die ältesten werden zuerst gelöscht (Standard: 200) ttlDays: 90 // Einträge, die älter als dieser Wert sind, werden gelöscht (Standard: 90)}Pro Kollektion
Abschnitt betitelt „Pro Kollektion“Markieren Sie, welche Kollektionen die Historie verfolgen sollen:
const ordersCollection: EntityCollection = { slug: "orders", history: true, // Für diese Kollektion aktivieren properties: { /* ... */ }};Funktionsweise
Abschnitt betitelt „Funktionsweise“- Das Backend erstellt automatisch eine Tabelle namens
rebase.entity_history - Bei jeder Erstellung, Aktualisierung oder Löschung wird eine Momentaufnahme aufgezeichnet mit:
- Entitäts-ID, Kollektions-Slug und Tabellenname
- Die vollständigen Entitätswerte (vorher und nachher)
- Zeitstempel und Benutzer-ID
- Operationstyp (
insert,update,delete)
- Alte Einträge werden regelmäßig gelöscht (alle 6 Stunden)
REST-Endpunkt
Abschnitt betitelt „REST-Endpunkt“GET /api/data/:slug/:entityId/historyGibt eine Liste der Historieeinträge für eine bestimmte Entität zurück, sortiert nach den neuesten zuerst:
{ "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" } ]}Aufbewahrungskonfiguration
Abschnitt betitelt „Aufbewahrungskonfiguration“| Einstellung | Standard | Beschreibung |
|---|---|---|
maxEntries | 200 | Maximale Einträge pro Entität. Die ältesten werden gelöscht. |
ttlDays | 90 | Einträge, die älter als dieser Wert sind, werden gelöscht. |
Das Backend führt alle 6 Stunden eine globale Bereinigung durch.
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- Entitäts-Callbacks — Lebenszyklus-Hooks
- Backend-Übersicht — Vollständige Backend-Konfiguration