|
@@ -51,6 +51,8 @@ namespace Jellyfin.Server.Migrations
|
|
typeof(Routines.RemoveDuplicatePlaylistChildren)
|
|
typeof(Routines.RemoveDuplicatePlaylistChildren)
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ private static readonly Guid _downgradeCheckMigration = Guid.Parse("36445464-849f-429f-9ad0-bb130efa0664");
|
|
|
|
+
|
|
/// <summary>
|
|
/// <summary>
|
|
/// Run all needed migrations.
|
|
/// Run all needed migrations.
|
|
/// </summary>
|
|
/// </summary>
|
|
@@ -88,6 +90,12 @@ namespace Jellyfin.Server.Migrations
|
|
? (MigrationOptions)xmlSerializer.DeserializeFromFile(typeof(MigrationOptions), migrationConfigPath)!
|
|
? (MigrationOptions)xmlSerializer.DeserializeFromFile(typeof(MigrationOptions), migrationConfigPath)!
|
|
: new MigrationOptions();
|
|
: new MigrationOptions();
|
|
|
|
|
|
|
|
+ // 10.10 specific EFCore migration check.
|
|
|
|
+ if (migrationOptions.Applied.Any(f => f.Id.Equals(_downgradeCheckMigration)))
|
|
|
|
+ {
|
|
|
|
+ throw new InvalidOperationException("You cannot downgrade your jellyfin install from the library.db migration.");
|
|
|
|
+ }
|
|
|
|
+
|
|
// We have to deserialize it manually since the configuration manager may overwrite it
|
|
// We have to deserialize it manually since the configuration manager may overwrite it
|
|
var serverConfig = File.Exists(appPaths.SystemConfigurationFilePath)
|
|
var serverConfig = File.Exists(appPaths.SystemConfigurationFilePath)
|
|
? (ServerConfiguration)xmlSerializer.DeserializeFromFile(typeof(ServerConfiguration), appPaths.SystemConfigurationFilePath)!
|
|
? (ServerConfiguration)xmlSerializer.DeserializeFromFile(typeof(ServerConfiguration), appPaths.SystemConfigurationFilePath)!
|