diff --git a/supabase/seed.ts b/supabase/seed.ts index 8588172..10d858a 100644 --- a/supabase/seed.ts +++ b/supabase/seed.ts @@ -835,6 +835,17 @@ function pruefeInvarianten() { for (const h of history) { const e = employees.find((x) => x.id === h.employee_id)!; if (e.exit_date && h.event_date > e.exit_date) throw new Error(`${e.email}: Ereignis ${h.event_type} nach dem Austritt`); + // Die Gegenrichtung — und die hat gefehlt. + // + // trg_history_not_before_entry weist jede Zeile ab, deren event_date vor + // dem Eintritt liegt. insertInChunks bricht beim ersten Fehler ab, und + // employee_history ist die *letzte* Tabelle im Seed: alles davor war + // bereits geschrieben. Ergebnis war eine Datenbank mit 852 Personen und + // null Historie — und das sah nicht nach einem Abbruch aus, sondern nach + // einer Anwendung, die eben wenig Historie zeigt. + if (h.event_date < e.entry_date) { + throw new Error(`${e.email}: Ereignis ${h.event_type} am ${h.event_date} liegt vor dem Eintritt am ${e.entry_date}`); + } } }