diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-10-28 16:26:41 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-10-28 16:26:41 -0400 |
| commit | a9e079787827ba588c4f70db5fe9747aa9061639 (patch) | |
| tree | 3ee86213dadb3374bfc43634702e49010a7c2e51 /MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs | |
| parent | 9b998a068a2622f43ac813800654e357f94d0c21 (diff) | |
| parent | 886750a7f8463fd5354fad5eafee8c2320e10cb9 (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.cs | 46 |
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); } } |
