From fc7fad9713d96ad3466f6129f1d1c62915e8843f Mon Sep 17 00:00:00 2001 From: clawd Date: Fri, 20 Feb 2026 11:02:07 +0000 Subject: [PATCH] =?UTF-8?q?v0.4.3=20=E2=80=94=20DB=20in=20AppData/Local/Sp?= =?UTF-8?q?eiseplan=20statt=20User-Home?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - speiseplan.db jetzt in %LOCALAPPDATA%/Speiseplan/ - Uninstaller räumt AppData-Ordner auf --- build/windows/installer.nsi | 2 +- db.go | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/build/windows/installer.nsi b/build/windows/installer.nsi index 66ef7c1..5aa8b2d 100644 --- a/build/windows/installer.nsi +++ b/build/windows/installer.nsi @@ -75,7 +75,7 @@ Section "Uninstall" ; Datenbank löschen MessageBox MB_YESNO "Sollen die gespeicherten Daten (Speisepläne, Produkte) ebenfalls gelöscht werden?" IDYES deletedata IDNO skipdata deletedata: - Delete "$PROFILE\speiseplan.db" + RMDir /r "$LOCALAPPDATA\Speiseplan" skipdata: DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Speiseplan" diff --git a/db.go b/db.go index 1958d37..271a4b6 100644 --- a/db.go +++ b/db.go @@ -13,13 +13,18 @@ var db *sqlx.DB // InitDatabase initialisiert die SQLite-Datenbank func InitDatabase() error { - // DB-Datei im User-Home-Verzeichnis - homeDir, err := os.UserHomeDir() + // DB-Datei in AppData/Local/Speiseplan + configDir, err := os.UserConfigDir() if err != nil { - return fmt.Errorf("failed to get user home directory: %w", err) + return fmt.Errorf("failed to get config directory: %w", err) } - dbPath := filepath.Join(homeDir, "speiseplan.db") + appDir := filepath.Join(configDir, "Speiseplan") + if err := os.MkdirAll(appDir, 0755); err != nil { + return fmt.Errorf("failed to create app directory: %w", err) + } + + dbPath := filepath.Join(appDir, "speiseplan.db") // Verbindung zur Datenbank herstellen database, err := sqlx.Open("sqlite", dbPath)