aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-10-28 16:26:41 -0400
committerLuke <luke.pulverenti@gmail.com>2015-10-28 16:26:41 -0400
commita9e079787827ba588c4f70db5fe9747aa9061639 (patch)
tree3ee86213dadb3374bfc43634702e49010a7c2e51 /MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
parent9b998a068a2622f43ac813800654e357f94d0c21 (diff)
parent886750a7f8463fd5354fad5eafee8c2320e10cb9 (diff)
Merge pull request #1236 from MediaBrowser/master
add more migration error handling
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs46
1 files changed, 32 insertions, 14 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 730632bb3..167c96185 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -225,45 +225,63 @@ namespace MediaBrowser.Server.Implementations.Persistence
private void MigrateMediaStreams(string file)
{
- var backupFile = file + ".bak";
- File.Copy(file, backupFile, true);
- SqliteExtensions.Attach(_connection, backupFile, "MediaInfoOld");
+ try
+ {
+ 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;"
};
- try
- {
_connection.RunQueries(queries, _logger);
- File.Delete(file);
}
catch (Exception ex)
{
_logger.ErrorException("Error migrating media info database", ex);
}
+ finally
+ {
+ TryDeleteFile(file);
+ }
}
private void MigrateChapters(string file)
{
- var backupFile = file + ".bak";
- File.Copy(file, backupFile, true);
- SqliteExtensions.Attach(_connection, backupFile, "ChaptersOld");
+ try
+ {
+ 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;"
};
+ _connection.RunQueries(queries, _logger);
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error migrating chapter database", ex);
+ }
+ finally
+ {
+ TryDeleteFile(file);
+ }
+ }
+
+ private void TryDeleteFile(string file)
+ {
try
{
- _connection.RunQueries(queries, _logger);
File.Delete(file);
}
catch (Exception ex)
{
- _logger.ErrorException("Error migrating chapter database", ex);
+ _logger.ErrorException("Error deleting file {0}", ex, file);
}
}