Ueberblick ueber das Datenmodell. Die verbindliche Quelle ist das Dokument docs/Datenmodell-Kernentitaeten.md (Version 0.2) im Repo sowie die Alembic-Migrationen (0001-0006). Diese Seite gibt die Einordnung; bei Abweichungen gilt das Repo.
Stand: 2026-07-04. Datenmodell v0.2 (PO-Review R1-R4 eingearbeitet).
revier_id; Durchsetzung per RLS + Query-Layer.version (pro server-akzeptiertem Schreibvorgang), deleted_at (Tombstone/Soft-Delete), Audit-Felder. created_at/updated_at sind informativ, nie Konfliktgrundlage.| Entitaet | Rolle | Mandant? |
|---|---|---|
user_account |
Konto (Bezahlstatus als status+valid_until, kein Boolean; external_auth_id fuer Keycloak) | nein |
revier |
= Mandant; boundary als MultiPolygon-Feld | ist selbst der Mandant |
membership |
Nutzer<->Revier<->Rolle | ja |
map_object |
Kartenobjekt (object_code, Geometrie, properties) | ja |
media |
Foto-Metadaten (MinIO object_key, polymorpher Bezug) | ja |
observation |
Wildbeobachtung (additiv) | ja |
harvest_entry |
Streckeneintrag (additiv, extra_fields fuer Pflichtfelder) | ja |
species |
Wildart (Referenzdaten) | nein |
season_ruleset / season_rule |
Jagdzeiten-Regelwerk (referenziert land/region, nicht Revier) | nein |
change_log |
globale Ordnungsquelle (seq bigserial) fuer Sync | ja (gescopt) |
sync_conflict |
persistente Konfliktliste pro Nutzer | ja (gescopt) |
owner, mit_owner, revierinhaber, jagdpaechter, mitjaeger, gastjaeger pro Revier vergeben. owner/mit_owner tragen das Verwaltungsrecht (R1-Entscheidung: Rollen im Enum, kein separates Flag). eventgast bewusst NICHT im Enum (keine Membership).
change_log mit seq (bigserial) als globale Ordnungsquelle; Pull inkrementell + revierbezogen (WHERE revier_id = X AND seq > :last_seq). Tombstones laufen als normale Eintraege mit (Zombie-Daten-Schutz).sync_conflict: abgewiesene Schreibvorgaenge (optimistische Sperre) je Nutzer, Grundlage fuer Konfliktaufloesung. Kann Standortdaten enthalten -> unterliegt dem Standortschutz.| Datum | Aenderung |
|---|---|
| 2026-07-04 | Erstfassung als Uebersicht; verweist auf docs/Datenmodell-Kernentitaeten.md v0.2 im Repo. |