Fixed: If v0.2 DB Exists back it up during update

This commit is contained in:
Qstick 2020-12-01 21:46:49 -05:00
parent ede7d37cae
commit 2d9c77ec5e
2 changed files with 21 additions and 1 deletions

View File

@ -12,6 +12,7 @@ namespace NzbDrone.Common.Extensions
{
private const string APP_CONFIG_FILE = "config.xml";
private const string DB = "radarr.db";
private const string DB_OLD = "nzbdrone.db";
private const string DB_RESTORE = "radarr.restore";
private const string LOG_DB = "logs.db";
private const string NLOG_CONFIG_FILE = "nlog.config";
@ -303,6 +304,11 @@ namespace NzbDrone.Common.Extensions
return Path.Combine(GetUpdateBackUpAppDataFolder(appFolderInfo), DB);
}
public static string GetV0UpdateBackupDatabase(this IAppFolderInfo appFolderInfo)
{
return Path.Combine(GetUpdateBackUpAppDataFolder(appFolderInfo), DB_OLD);
}
public static string GetUpdatePackageFolder(this IAppFolderInfo appFolderInfo)
{
return Path.Combine(GetUpdateSandboxFolder(appFolderInfo), UPDATE_PACKAGE_FOLDER_NAME);
@ -323,6 +329,11 @@ namespace NzbDrone.Common.Extensions
return Path.Combine(GetAppDataPath(appFolderInfo), DB);
}
public static string GetV0Database(this IAppFolderInfo appFolderInfo)
{
return Path.Combine(GetAppDataPath(appFolderInfo), DB_OLD);
}
public static string GetDatabaseRestore(this IAppFolderInfo appFolderInfo)
{
return Path.Combine(GetAppDataPath(appFolderInfo), DB_RESTORE);

View File

@ -46,7 +46,16 @@ namespace NzbDrone.Update.UpdateEngine
try
{
_diskTransferService.TransferFile(_appFolderInfo.GetConfigPath(), _appFolderInfo.GetUpdateBackupConfigFile(), TransferMode.Copy);
_diskTransferService.TransferFile(_appFolderInfo.GetDatabase(), _appFolderInfo.GetUpdateBackupDatabase(), TransferMode.Copy);
//Backup new db if exists, else try old then fail
if (_diskProvider.FileExists(_appFolderInfo.GetDatabase()))
{
_diskTransferService.TransferFile(_appFolderInfo.GetDatabase(), _appFolderInfo.GetUpdateBackupDatabase(), TransferMode.Copy);
}
else
{
_diskTransferService.TransferFile(_appFolderInfo.GetV0Database(), _appFolderInfo.GetV0UpdateBackupDatabase(), TransferMode.Copy);
}
}
catch (Exception e)
{