1.3 KiB
1.3 KiB
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:
usersist die Identität für Sessions, Freundschaften, Nachrichten, Kommentare, Attendance, Diary, Badges und Uploads.concertsverweist optional aufvenues, einen Parent-Event und den Ersteller.concert_comments,concert_photosundconcert_attendancehängen an einem Konzert.concert_diaryundconcert_diary_photosbilden persönliche Konzertnotizen.user_badgesenthält Badges und optionale auslösende Konzerte.push_devicesbindet Android-FCM-Tokens an Benutzer und die aktuelle Session.bug_report_submissionsenthä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.