소스 검색

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
Mark Monteiro 5 년 전
부모
커밋
a0fdceb4bc
1개의 변경된 파일2개의 추가작업 그리고 6개의 파일을 삭제
  1. 2 6
      Jellyfin.Server/Migrations/MigrationRunner.cs

+ 2 - 6
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);
             }