Zum Inhalt springen

Entitätshistorie

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.

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)
}

Markieren Sie, welche Kollektionen die Historie verfolgen sollen:

const ordersCollection: EntityCollection = {
slug: "orders",
history: true, // Für diese Kollektion aktivieren
properties: { /* ... */ }
};
  1. Das Backend erstellt automatisch eine Tabelle namens rebase.entity_history
  2. 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)
  3. Alte Einträge werden regelmäßig gelöscht (alle 6 Stunden)
GET /api/data/:slug/:entityId/history

Gibt 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"
}
]
}
EinstellungStandardBeschreibung
maxEntries200Maximale Einträge pro Entität. Die ältesten werden gelöscht.
ttlDays90Einträge, die älter als dieser Wert sind, werden gelöscht.

Das Backend führt alle 6 Stunden eine globale Bereinigung durch.