Fahrzeug/Anhänger-Kopplung (objekt.gezogen_von_objekt_id)
CI / backend-tests (push) Failing after 1m12s
CI / frontend-build (push) Successful in 19s

Nutzer-Vorgabe: Fahrzeug und Anhänger beide als eigenständige Objekte
möglich, optional fest gekoppelt. Selbstreferenzierende nullable FK, kein
eigener Anhänger-Objekttyp nötig (Objekt bleibt generisch, Karte 11).
POST /objekte übergibt das Feld, neuer PATCH /objekte/{id} zum
nachträglichen Setzen/Lösen.

Von postgres-expert gegengeprüft, Fixes übernommen: ON DELETE SET NULL
(Zugfahrzeug entfernen blockiert Anhänger nicht), CHECK-Constraint gegen
Selbstbezug, Existenzprüfung + direkter Zyklus-Check (A↔B) im Endpoint statt
unhandled 500. Mehrstufige Ketten bewusst nicht geprüft (kein Anwendungsfall).

Tests: Anlage mit/ohne Kopplung, nachträglich setzen/lösen, Selbstbezug,
ungültiges Ziel, direkter Zyklus.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CVgbozhYmuEhiEJHffRXCV
This commit is contained in:
2026-09-04 20:48:35 +02:00
co-authored by Claude Sonnet 5
parent d61aabadf3
commit eff9fe4956
7 changed files with 264 additions and 1 deletions
+36
View File
@@ -189,3 +189,39 @@ Keine Commits in dieser Session.
- frontend/src/pages/admin/ZustaendigkeitSection.tsx | 194 +++++++++++++++++++++
---
## 2026-09-04 20:43 20:46 (3m)
**Beschreibung:** Claude Code Session
**Projekt:** backend
### Commits
- d61aaba Karte 14 Schritt 1: geraet_instanz-Tabelle (additiv)
### Geänderte Dateien
- arbeitskarten/00_index.md | 1 +
- arbeitskarten/14_pruef_wartungspflicht.md | 98 ++++++++++++++++++++++++
- backend/DEVLOG.md | 42 +++++++++++
- backend/alembic/versions/0008_geraet_instanz.py | 65 ++++++++++++++++
- backend/app/models/__init__.py | 3 +
- backend/app/models/geraet_instanz.py | 40 ++++++++++
- backend/app/models/objektposition.py | 6 +-
- backend/tests/test_geraet_instanz.py | 99 +++++++++++++++++++++++++
---
## 2026-09-04 20:47 20:47 (0m)
**Beschreibung:** Claude Code Session
**Projekt:** backend
### Commits
Keine Commits in dieser Session.
### Geänderte Dateien
- arbeitskarten/00_index.md | 1 +
- arbeitskarten/14_pruef_wartungspflicht.md | 98 ++++++++++++++++++++++++
- backend/DEVLOG.md | 42 +++++++++++
- backend/alembic/versions/0008_geraet_instanz.py | 65 ++++++++++++++++
- backend/app/models/__init__.py | 3 +
- backend/app/models/geraet_instanz.py | 40 ++++++++++
- backend/app/models/objektposition.py | 6 +-
- backend/tests/test_geraet_instanz.py | 99 +++++++++++++++++++++++++
---