Files
Florian-netz/package.json
Matthias Hochmeister 034fdb175f Workstream 9: Seed-Daten aus NÖ-Katalog (Phase 6)
Idempotente Katalog-Seeds, die docs/reference/fahrzeug-katalog-noelfv.md
als Code abbilden. Importiert ausschließlich das bestehende Drizzle-Schema
(WS2), definiert keine Tabellen neu.

- 34 Merkmale (+ Enum-Optionen: feuerloeschpumpe_typ=8, anzahl_achsen=3,
  stromerzeuger_bauart=3); Funkrufname ist Spalte, kein Merkmal.
- 11 Fahrzeug-Vorlagen mit Pflichtmerkmalen, typisierten Vorgabewerten
  (vorgabewert_num/_text/_bool) und Aliassen mit `bestaetigt`.
  RLF/RLFA 2000 + 2000-4000 = true; kein HLFA-Alias (Laufzeitregel ist
  kanonisch); HLF 4-U als Alias auf HLF 4 mit Pulver-Pflichtmerkmalen.
- 11 Geräte-Kategorien (Natural Key name).
- upsert.ts: ausschließlich onConflictDoUpdate auf Natural Keys
  (slug/code/name + Verknüpfungs-PKs); index.ts seedet in EINER Transaktion
  (Merkmale -> Optionen -> Vorlagen -> Vorlagen-Merkmale -> Aliasse ->
  Kategorien) via Slug->ID-Map, sequenzielle Awaits.
- Reiner Offline-Unit-Test (seed.test.ts) prüft alle fachlichen Invarianten
  ohne DB; package.json-Script db:seed ergänzt.

Verifikation offline: tsc --noEmit (0), drizzle-kit check (0),
next build (0), vitest run (191 passed, 7 DB-Tests skipped).
Seed-Ausführung selbst deferred (kein Postgres im Sandbox).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 12:07:39 +02:00

1.8 KiB