1.1 KiB
1.1 KiB
Dokument 2: Datenmodell & Persistenz (Backend)
Ziel: Implementierung der relationalen Struktur zur Verwaltung des Saatgut-Bestands.
Entity-Definitionen (Doctrine ORM):
Kategorie: id, name (unique), farbe.
Pflanze: id, art_name, sorten_name, kategorie_id (FK → Kategorie), beschreibung.
SaatgutBestand: id, nutzer_id (String aus Keycloak), pflanze_id (FK → Pflanze), menge, kaufdatum, ablaufdatum, notizen.
Daten-Integrität:
Kaskadierendes Löschen: Wenn eine Kategorie gelöscht wird, muss entschieden werden, wie mit den Pflanzen verfahren wird (z.B. Setzen auf null oder Mitlöschen).
Unique Constraint für nutzer_id + pflanze_id, um doppelte Einträge derselben Sorte pro Nutzer zu vermeiden (optional, je nach Wunsch).
Akzeptanzkriterien:
Datenbank-Migrationen sind erstellt und erfolgreich ausgeführt.
Testdaten für den globalen Katalog (Kategorie & Pflanze) wurden importiert.
Die Beziehungen zwischen den Tabellen sind via Doctrine korrekt abgebildet.