diff --git a/Services/ServerSettingsService.cs b/Services/ServerSettingsService.cs index 2c1da2b..a4c91d4 100644 --- a/Services/ServerSettingsService.cs +++ b/Services/ServerSettingsService.cs @@ -77,12 +77,34 @@ public class ServerSettingsService } } + /// + /// Entfernt veraltete Settings aus der DB die nicht mehr in Definitions existieren. + /// + private void CleanupObsoleteSettings() + { + var obsoleteKeys = new[] { "ScanIntervalHours" }; + using var conn = new SqliteConnection($"Data Source={_dbPath}"); + conn.Open(); + foreach (var key in obsoleteKeys) + { + using var cmd = conn.CreateCommand(); + cmd.CommandText = "DELETE FROM server_settings WHERE key = @key"; + cmd.Parameters.AddWithValue("@key", key); + cmd.ExecuteNonQuery(); + } + lock (_lock) + { + foreach (var key in obsoleteKeys) _cache.Remove(key); + } + } + /// /// Migriert bestehende Werte aus appsettings.Production.json in die DB (einmalig). /// Nur Settings die noch NICHT in der DB sind werden übernommen. /// public void MigrateFromAppSettings(string contentRootPath) { + CleanupObsoleteSettings(); var prodPath = Path.Combine(contentRootPath, "appsettings.Production.json"); if (!File.Exists(prodPath)) return;