Merge pull request #9987 from Sky-High/fix-migration

This commit is contained in:
Bond-009 2023-07-15 22:52:23 +02:00 committed by GitHub
commit 9de667f8ce
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 6 deletions

View File

@ -93,7 +93,7 @@ namespace Jellyfin.Server.Migrations
private static void HandleStartupWizardCondition(IEnumerable<IMigrationRoutine> migrations, MigrationOptions migrationOptions, bool isStartWizardCompleted, ILogger logger)
{
if (isStartWizardCompleted || migrationOptions.Applied.Count != 0)
if (isStartWizardCompleted)
{
return;
}
@ -106,6 +106,8 @@ namespace Jellyfin.Server.Migrations
private static void PerformMigrations(IMigrationRoutine[] migrations, MigrationOptions migrationOptions, Action<MigrationOptions> saveConfiguration, ILogger logger)
{
// save already applied migrations, and skip them thereafter
saveConfiguration(migrationOptions);
var appliedMigrationIds = migrationOptions.Applied.Select(m => m.Id).ToHashSet();
for (var i = 0; i < migrations.Length; i++)

View File

@ -1,4 +1,4 @@
using System;
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
@ -39,8 +39,23 @@ public class MigrateNetworkConfiguration : IMigrationRoutine
{
string path = Path.Combine(_applicationPaths.ConfigurationDirectoryPath, "network.xml");
var oldNetworkConfigSerializer = new XmlSerializer(typeof(OldNetworkConfiguration), new XmlRootAttribute("NetworkConfiguration"));
using var xmlReader = XmlReader.Create(path);
var oldNetworkConfiguration = (OldNetworkConfiguration?)oldNetworkConfigSerializer.Deserialize(xmlReader);
OldNetworkConfiguration? oldNetworkConfiguration = null;
try
{
using (var xmlReader = XmlReader.Create(path))
{
oldNetworkConfiguration = (OldNetworkConfiguration?)oldNetworkConfigSerializer.Deserialize(xmlReader);
}
}
catch (InvalidOperationException ex)
{
_logger.LogError(ex, "Migrate NetworkConfiguration deserialize Invalid Operation error");
}
catch (Exception ex)
{
_logger.LogError(ex, "Migrate NetworkConfiguration deserialize error");
}
if (oldNetworkConfiguration is not null)
{
@ -82,10 +97,12 @@ public class MigrateNetworkConfiguration : IMigrationRoutine
var networkConfigSerializer = new XmlSerializer(typeof(NetworkConfiguration));
var xmlWriterSettings = new XmlWriterSettings { Indent = true };
using var xmlWriter = XmlWriter.Create(path, xmlWriterSettings);
using (var xmlWriter = XmlWriter.Create(path, xmlWriterSettings))
{
networkConfigSerializer.Serialize(xmlWriter, networkConfiguration);
}
}
}
#pragma warning disable
public sealed class OldNetworkConfiguration