mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Merge pull request #1236 from MediaBrowser/master
add more migration error handling
This commit is contained in:
commit
a9e0797878
@ -225,46 +225,64 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
|||||||
|
|
||||||
private void MigrateMediaStreams(string file)
|
private void MigrateMediaStreams(string file)
|
||||||
{
|
{
|
||||||
var backupFile = file + ".bak";
|
try
|
||||||
File.Copy(file, backupFile, true);
|
{
|
||||||
SqliteExtensions.Attach(_connection, backupFile, "MediaInfoOld");
|
var backupFile = file + ".bak";
|
||||||
|
File.Copy(file, backupFile, true);
|
||||||
|
SqliteExtensions.Attach(_connection, backupFile, "MediaInfoOld");
|
||||||
|
|
||||||
var columns = string.Join(",", _mediaStreamSaveColumns);
|
var columns = string.Join(",", _mediaStreamSaveColumns);
|
||||||
|
|
||||||
string[] queries = {
|
string[] queries = {
|
||||||
"REPLACE INTO mediastreams("+columns+") SELECT "+columns+" FROM MediaInfoOld.mediastreams;"
|
"REPLACE INTO mediastreams("+columns+") SELECT "+columns+" FROM MediaInfoOld.mediastreams;"
|
||||||
};
|
};
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
_connection.RunQueries(queries, _logger);
|
_connection.RunQueries(queries, _logger);
|
||||||
File.Delete(file);
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_logger.ErrorException("Error migrating media info database", ex);
|
_logger.ErrorException("Error migrating media info database", ex);
|
||||||
}
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
TryDeleteFile(file);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MigrateChapters(string file)
|
private void MigrateChapters(string file)
|
||||||
{
|
{
|
||||||
var backupFile = file + ".bak";
|
try
|
||||||
File.Copy(file, backupFile, true);
|
{
|
||||||
SqliteExtensions.Attach(_connection, backupFile, "ChaptersOld");
|
var backupFile = file + ".bak";
|
||||||
|
File.Copy(file, backupFile, true);
|
||||||
|
SqliteExtensions.Attach(_connection, backupFile, "ChaptersOld");
|
||||||
|
|
||||||
string[] queries = {
|
string[] queries = {
|
||||||
"REPLACE INTO "+ChaptersTableName+"(ItemId, ChapterIndex, StartPositionTicks, Name, ImagePath) SELECT ItemId, ChapterIndex, StartPositionTicks, Name, ImagePath FROM ChaptersOld.Chapters;"
|
"REPLACE INTO "+ChaptersTableName+"(ItemId, ChapterIndex, StartPositionTicks, Name, ImagePath) SELECT ItemId, ChapterIndex, StartPositionTicks, Name, ImagePath FROM ChaptersOld.Chapters;"
|
||||||
};
|
};
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
_connection.RunQueries(queries, _logger);
|
_connection.RunQueries(queries, _logger);
|
||||||
File.Delete(file);
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_logger.ErrorException("Error migrating chapter database", ex);
|
_logger.ErrorException("Error migrating chapter database", ex);
|
||||||
}
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
TryDeleteFile(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TryDeleteFile(string file)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
File.Delete(file);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.ErrorException("Error deleting file {0}", ex, file);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user