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)