Improve project and wiki documentation

This commit is contained in:
2026-09-15 01:06:28 +02:00
parent b96b1890d2
commit 7c801dfddd
21 changed files with 286 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
# Database
MetalCircle verwendet PostgreSQL. Das Initialschema liegt in `db/init/01_initial.sql`; spätere Änderungen liegen als nummerierte SQL-Dateien in `db/migrations/`. Die Anwendung stellt beim Start zusätzlich sicher, dass die aktuellen Feature-Tabellen vorhanden sind. Jede Schemaänderung muss als reproduzierbare Migration vorliegen.
Wichtige Beziehungen:
- `users` ist die Identität für Sessions, Freundschaften, Nachrichten, Kommentare, Attendance, Diary, Badges und Uploads.
- `concerts` verweist optional auf `venues`, einen Parent-Event und den Ersteller.
- `concert_comments`, `concert_photos` und `concert_attendance` hängen an einem Konzert.
- `concert_diary` und `concert_diary_photos` bilden persönliche Konzertnotizen.
- `user_badges` enthält Badges und optionale auslösende Konzerte.
- `push_devices` bindet Android-FCM-Tokens an Benutzer und die aktuelle Session.
- `bug_report_submissions` enthält ausschließlich kurzlebige Status-/Nonce-Metadaten zur Duplicate-Vermeidung, keine vollständigen Issues.
Primäre Indizes unterstützen Konzertdatum, Venue-Suche, Kommentare, Fotos, Attendance, Nachrichten und Einladungen. Backups und Wiederherstellung der PostgreSQL-Daten sind umgebungsabhängig und werden nicht durch diese Repository-Migrationen automatisiert.