Move existing syncjournal db files from client ver <2.7
authorDominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
Sat, 11 Jul 2020 22:08:46 +0000 (00:08 +0200)
committerKevin Ottens <kevin.ottens@nextcloud.com>
Mon, 13 Jul 2020 15:47:11 +0000 (17:47 +0200)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
src/gui/folderman.cpp

index 2cfaa5bba99d4f8bde0522bf5511b37c9ba6b0f8..d9cb198899daaf035535924be586879478844833 100644 (file)
@@ -218,13 +218,20 @@ void FolderMan::setupFoldersHelper(QSettings &settings, AccountStatePtr account,
                 socketApi()->slotUnregisterPath(folderAlias);
                 auto settings = account->settings();
 
+                auto journalFileMoveSuccess = true;
+                journalFileMoveSuccess = oldJournal.rename(folderDefinition.journalPath);
+                journalFileMoveSuccess = oldJournalShm.rename(folderDefinition.journalPath.append("-shm"));
+                journalFileMoveSuccess = oldJournalWal.rename(folderDefinition.journalPath.append("-wal"));
+
+                if (!journalFileMoveSuccess) {
+                    qCWarning(lcFolderMan) << "Wasn't able to move pre-2.7 syncjournal databse files to new location. One-time loss off sync settings possible.";
+                } else {
+                    qCInfo(lcFolderMan) << "Successfully migrated syncjournal database.";
+                }
+
                 Folder *f = addFolderInternal(folderDefinition, account.data());
                 f->saveToSettings();
 
-                oldJournal.remove();
-                oldJournalShm.remove();
-                oldJournalWal.remove();
-
                 return;
             }