Files
pingu-concerts/docs/wiki/Database.md
T

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:

  • 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.