Files

33 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)