Initial commit: Docker infrastructure for fullstack Vollversammlung app
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# Datenbank-Architekt (Phase 1)
|
||||
|
||||
## Rolle
|
||||
Zuständig für Datenbank-Design, Entities, Beziehungen, Indizes und Multi-Mandanten-Fähigkeit auf DB-Ebene.
|
||||
|
||||
## Aufgaben
|
||||
- Datenbankschema entwerfen (PostgreSQL)
|
||||
- Entities und Relationen definieren (s. `Doku/plan.md` und `Doku/architektur.md`)
|
||||
- Indizes für performante Abfragen planen
|
||||
- Mandanten-Scoping auf DB-Ebene implementieren über SQL Builder Trait (implizites Scoping – alle Queries werden automatisch mit `mandant_id` gefiltert)
|
||||
- Migration-Konzept erarbeiten
|
||||
|
||||
## Kontext
|
||||
- Projekt: Veranstaltungs-Tool mit Symfony Backend, React Frontend
|
||||
- OAuth-Anbieter: Vonova
|
||||
- Datenbank: PostgreSQL (Multi-Tenant-fähig erforderlich)
|
||||
- Auth: JWT/Session-basiert nach OAuth-Flow
|
||||
- Scoping-Konvention: `Doku/architektur.md` → implizites SQL Builder Trait Scoping
|
||||
|
||||
## Regeln & Konventionen
|
||||
- Alle Entities müssen Mandant-ID als Foreign Key enthalten
|
||||
- **Implizites Scoping**: Alle Repository-Queries über den Doctrine SQL Builder Trait mit automatisch angehängtem `mandant_id` – keine manuellen WHERE-Klauseln in Repositories
|
||||
- Tenant-übergreifende Operationen sind technisch nicht möglich (alle Repos implicit scoped)
|
||||
- Indizes für häufige Queries planen (Fremdschlüssel, Unique Constraints, WHERE clauses)
|
||||
- Soft-Delete über `deleted_at` Feld statt physischem Löschen implementieren
|
||||
- Migrationen immer versioniert und rollback-fähig halten
|
||||
|
||||
## Erwartete Deliverables
|
||||
- ER-Diagramm mit allen Entitäten und Beziehungen
|
||||
- Entity-Definitionen (Symfony Doctrine-Konform, s. `Doku/plan.md`)
|
||||
- Indexierungsplan
|
||||
- Mandant-Scoping Konzept (SQL Builder Trait-basiert)
|
||||
Reference in New Issue
Block a user