Merge pull request #1774 from MediaBrowser/dev

add error handling with migrations
pull/702/head
Luke 8 years ago
commit 635ad14e08

@ -359,13 +359,19 @@ namespace MediaBrowser.Server.Startup.Common
{ {
var migrations = new List<IVersionMigration> var migrations = new List<IVersionMigration>
{ {
new RenameXmlOptions(ServerConfigurationManager)
}; };
foreach (var task in migrations) foreach (var task in migrations)
{
try
{ {
task.Run(); task.Run();
} }
catch (Exception ex)
{
Logger.ErrorException("Error running migration", ex);
}
}
} }
private void PerformPostInitMigrations() private void PerformPostInitMigrations()
@ -378,9 +384,16 @@ namespace MediaBrowser.Server.Startup.Common
}; };
foreach (var task in migrations) foreach (var task in migrations)
{
try
{ {
task.Run(); task.Run();
} }
catch (Exception ex)
{
Logger.ErrorException("Error running migration", ex);
}
}
} }
/// <summary> /// <summary>

@ -75,7 +75,6 @@
<Compile Include="Migrations\DbMigration.cs" /> <Compile Include="Migrations\DbMigration.cs" />
<Compile Include="Migrations\MovieDbEpisodeProviderMigration.cs" /> <Compile Include="Migrations\MovieDbEpisodeProviderMigration.cs" />
<Compile Include="Migrations\OmdbEpisodeProviderMigration.cs" /> <Compile Include="Migrations\OmdbEpisodeProviderMigration.cs" />
<Compile Include="Migrations\RenameXmlOptions.cs" />
<Compile Include="NativeEnvironment.cs" /> <Compile Include="NativeEnvironment.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="StartupOptions.cs" /> <Compile Include="StartupOptions.cs" />

@ -1,61 +0,0 @@
using MediaBrowser.Controller.Configuration;
using System;
namespace MediaBrowser.Server.Startup.Common.Migrations
{
public class RenameXmlOptions : IVersionMigration
{
private readonly IServerConfigurationManager _config;
public RenameXmlOptions(IServerConfigurationManager config)
{
_config = config;
}
public void Run()
{
var changed = false;
foreach (var option in _config.Configuration.MetadataOptions)
{
if (Migrate(option.DisabledMetadataSavers))
{
changed = true;
}
if (Migrate(option.LocalMetadataReaderOrder))
{
changed = true;
}
}
if (changed)
{
_config.SaveConfiguration();
}
}
private bool Migrate(string[] options)
{
var changed = false;
if (options != null)
{
for (var i = 0; i < options.Length; i++)
{
if (string.Equals(options[i], "Media Browser Legacy Xml", StringComparison.OrdinalIgnoreCase))
{
options[i] = "Emby Xml";
changed = true;
}
else if (string.Equals(options[i], "Media Browser Xml", StringComparison.OrdinalIgnoreCase))
{
options[i] = "Emby Xml";
changed = true;
}
}
}
return changed;
}
}
}
Loading…
Cancel
Save