Zum Inhalt springen

Einstellungen und Datenbank

In den Einstellungen steuerst du sowohl die Darstellung als auch die technische Datenpflege.

Einstellungen

Allgemeine Einstellungen

  • Sprache
  • Darstellung (Theme, nur die Premium Verison erlaubt die Änderung des Themes, bspw. in den Dark-Modus)

Datenbank-Funktionen

Die Datenbankfunktionen sind nur in der Premium-Version sichtbar. Die Live-Datenbank der App liegt lokal unter .../LocalApplicationData/HandicapForecast/handicap.db3.

Datenbank sichern

Bei Klick auf Datenbank sichern passiert folgendes:

  1. Die Live-Datenbank wird zuerst intern geprüft und als SQLite-Backup in eine temporäre Datei geschrieben.
  2. Das Backup wird validiert (Dateigröße, SQLite-Header, PRAGMA integrity_check).
  3. Danach öffnet die App den systemeigenen Speicherdialog.

Speicherziel:

  • Du wählst den Zielort selbst im Systemdialog (lokal oder Cloud, z. B. iCloud Drive/Google Drive/Dateien).
  • Auf Android gibt es einen Fallback in Downloads/HandicapForecast, falls der primäre Speicherdialog scheitert.

Dateiname:

  • Exportname: HandicapForecast_YYYY-MM-DD_HH-mm.db3

Datenbank wiederherstellen

Bei Klick auf Datenbank wiederherstellen:

  1. Es erscheint eine Sicherheitsabfrage.
  2. Du wählst eine Backup-Datei.
  3. Die Datei wird intern geprüft (integrity_check) und in eine temporäre DB eingespielt.
  4. Migrationen/Schema-Anpassungen werden auf dieser temporären DB ausgeführt.
  5. Danach wird die Live-Datenbank atomar durch die neue DB ersetzt.

Wichtig: Die aktuelle Live-Datenbank wird dabei überschrieben.

Automatisches Backup aktivieren

Der Schalter aktiviert ein wöchentliches Auto-Backup. Der Ablauf:

  • Trigger beim App-Start und beim Zurückkehren in die App (Resume).
  • Zusätzlich nach erfolgreicher Datenbankreparatur.
  • Nur wenn seit dem letzten Auto-Backup mindestens 7 Tage vergangen sind.

Speicherung und Bezeichnung:

  • Das Auto-Backup nutzt dieselbe Backup-Funktion wie der manuelle Backup-Button.
  • Entsprechend gilt derselbe Dateiname: HandicapForecast_YYYY-MM-DD_HH-mm.db3.
  • Der tatsächliche Speicherort wird über den System-Speicherfluss bestimmt (lokal oder Cloud).
  • Schlägt das Auto-Backup fehl oder wird der Speichervorgang abgebrochen, läuft die App weiter; der Fehler wird intern protokolliert.

Datenbank reparieren

Bei Klick auf Datenbank reparieren führt die App Wartung direkt auf der Live-DB aus:

  • Entfernen möglicher -wal/-shm-Dateien
  • REINDEX
  • VACUUM
  • anschließend PRAGMA integrity_check

Warum braucht man das?

  • Zur Behebung von Inkonsistenzen/Indexproblemen nach Abbrüchen, Locks oder Dateifehlern.
  • Die Funktion stabilisiert die DB-Struktur, bevor wieder normal gespeichert/gesichert wird.

Datenbank initialisieren

Bei Klick auf Datenbank initialisieren:

  • Die komplette Datenbankdatei wird gelöscht und neu angelegt.
  • Alle Tabellen werden neu erstellt.
  • Alle bisherigen Inhalte sind weg (Profile, Clubs, Plätze, Teeboxen, Ergebnisse, Historie).

Ergebnisse löschen

Bei Klick auf Ergebnisse löschen:

  • Es werden nur Ergebnisdaten entfernt:
    • TournamentResults
    • HandicapHistoryEntries
  • Im Profil werden HCPI-Felder zurückgesetzt (ComputedHCPI, CurrentHCPI, YearLowHCPI).
  • Stammdaten wie Club-, Platz- und Teebox-Verwaltung bleiben erhalten.

Unterschied: Initialisieren vs. Ergebnisse löschen

  • Datenbank initialisieren: kompletter Werkszustand der Datenbank (alles weg).
  • Ergebnisse löschen: nur Ergebnis- und Verlaufdaten weg, Stammdaten bleiben.

Wichtiger Hinweis

Datenbank initialisieren und Ergebnisse löschen sind destruktive Aktionen. Erstelle vorher immer ein Backup.