No description
  • JavaScript 87.8%
  • PLpgSQL 12.2%
Find a file
2026-07-07 12:59:29 +02:00
gen.mjs Initial commit: MUSTERFIRMA demo-history seed (gen.mjs + names.sql) 2026-07-07 12:59:29 +02:00
names.sql Initial commit: MUSTERFIRMA demo-history seed (gen.mjs + names.sql) 2026-07-07 12:59:29 +02:00
README.md Initial commit: MUSTERFIRMA demo-history seed (gen.mjs + names.sql) 2026-07-07 12:59:29 +02:00

musterfirma-seed

Demo-Daten-Generator für den Mandanten MUSTERFIRMA auf Prod. Erzeugt rund 9,5 Monate synthetische Zeiterfassung für alle 19 Mitarbeiter, damit der Vertrieb eine belebte Umgebung zeigen kann.

  • gen.mjs - erzeugt das SQL für die Zeit-Historie (Buchungen, Stundenkonto, Abwesenheiten, Vorgesetzte, Urlaubsverbrauch) nach stdout.
  • names.sql - vergibt Anzeigenamen für die 19 Nutzer (Login-Adressen bleiben unverändert).

Anwenden

# komplette Historie für alle 19 Nutzer
node gen.mjs | ssh bnet006 'docker exec -i supabase-db psql -U postgres -v ON_ERROR_STOP=1'

# nur die Namen
ssh bnet006 'docker exec -i supabase-db psql -U postgres -v ON_ERROR_STOP=1' < names.sql

Jeder Lauf ist durch eine Mandanten-Prüfung abgesichert und bricht ab, wenn das Ziel nicht MUSTERFIRMA ist. Alles ist idempotent und kann gefahrlos wiederholt werden.

Erneut ausführen

  • Zeitfenster weiterrollen: ANCHOR_TODAY in gen.mjs anpassen und neu laufen lassen.
  • Einzelner Nutzer: node gen.mjs <userId> erzeugt SQL nur für diesen Nutzer.

Hinweise

  • Das Stundenkonto wird bewusst hier berechnet, nicht über die App-Neuberechnung.
  • Feiertage werden pro Bundesland berücksichtigt (Nutzer verteilt auf NI/SL/SN/BY).
  • Showcase-Nutzer: Thomas Krüger (nutzer@bamsenet.app) ist der Login für Screenshots. Über das SHOWCASE-Set bekommt er ein festes Profil, das nie unter das Soll fällt - sein Stundenkonto bleibt immer grün und landet bei etwa +12h Überstunden.