From a0fdceb4bcf672bb87bed9f89921f60e8213080b Mon Sep 17 00:00:00 2001 From: Mark Monteiro Date: Sun, 8 Mar 2020 15:02:42 +0100 Subject: [PATCH] Throw exception on migration failure to halt application Also save migration configuration after each migration instead of at the end in case an exception is thrown part way through the list --- Jellyfin.Server/Migrations/MigrationRunner.cs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/Jellyfin.Server/Migrations/MigrationRunner.cs b/Jellyfin.Server/Migrations/MigrationRunner.cs index 8bc29d8ac8..0f9c2a3914 100644 --- a/Jellyfin.Server/Migrations/MigrationRunner.cs +++ b/Jellyfin.Server/Migrations/MigrationRunner.cs @@ -59,16 +59,12 @@ namespace Jellyfin.Server.Migrations catch (Exception ex) { logger.LogError(ex, "Could not apply migration {Name}", migrationRoutine.Name); - continue; + throw; } + // Mark the migration as completed logger.LogInformation("Migration {Name} applied successfully", migrationRoutine.Name); applied.Add(migrationRoutine.Name); - } - - if (applied.Count > migrationOptions.Applied.Length) - { - logger.LogInformation("Some migrations were run, saving the state"); migrationOptions.Applied = applied.ToArray(); host.ServerConfigurationManager.SaveConfiguration(MigrationsListStore.StoreKey, migrationOptions); }