1.4 KiB
Executable File
1.4 KiB
Executable File
RoggioApp - Beschluss: Weg 2 (Alles ist eine Unit)
Der Entschluss
Wir nutzen Weg 2 für jedes Inventar, bei dem Bestände, Schwund oder Nachbestellungen (Soll/Ist) relevant sind. Das bedeutet: Wir verpacken Inventar nicht in unübersichtliche JSON-Arrays innerhalb eines Raums, sondern machen jedes relevante Inventar zu einer eigenen Child-Unit.
Warum das die mächtigste Entscheidung ist
- Historie (Audit-Trail): Wenn "5 Löffel fehlen" als JSON in der Küche steht, weiß niemand, wann das passiert ist. Wenn der Löffel-Bestand eine eigene Unit ist, kann ein
Event("Inventur nach Abreise von Rossi") mit der Löffel-Unit verknüpft werden. Man sieht exakt: Am 26.04. hat Sarah 5 fehlende Löffel eingetragen. - Modularität: Ein Grill (Unit) kann heute zur Wohnung 1 (Parent) gehören und morgen auf dem Zirkuswagen-Platz (neuer Parent) stehen. Hätten wir den Grill als JSON in Wohnung 1 geschrieben, müssten wir JSON manipulieren. So verschieben wir einfach die
parentId. - Wartung & Defekte: Eine Spülmaschine (Unit) kann den Trait
status: "broken"bekommen. Das generiert automatisch einEvent(Task: Reparatur) für die Support-Gang.
Das Datenmodell bleibt unberührt
Es beweist die Stärke des Modells: Obwohl wir gerade die Verwaltung von Besteck, Gasflaschen und Spülmaschinen beschlossen haben, müssen wir in schema.prisma nichts ändern. Die Unit-Tabelle fängt das komplett ab.