From 39b8d3e75e177bba6b98ed01123f0ba298dcd291 Mon Sep 17 00:00:00 2001 From: Adwait Salankar Date: Wed, 22 Nov 2023 22:38:10 +0530 Subject: [PATCH] Backup settings.db before migrations --- src/vorta/store/connection.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/vorta/store/connection.py b/src/vorta/store/connection.py index c4b67ed70..ee7869c72 100644 --- a/src/vorta/store/connection.py +++ b/src/vorta/store/connection.py @@ -1,9 +1,11 @@ import os +import shutil from datetime import datetime, timedelta from peewee import Tuple, fn from playhouse import signals +from vorta import config from vorta.autostart import open_app_at_startup from .migrations import run_migrations @@ -83,6 +85,7 @@ def init_db(con=None): if created or current_schema.version == SCHEMA_VERSION: pass else: + backup_current_db() run_migrations(current_schema, con) # Create missing settings and update labels. @@ -98,3 +101,11 @@ def init_db(con=None): s.tooltip = setting['tooltip'] s.save() + + +def backup_current_db(): + """ + Creates a backup copy of settings.db + """ + + shutil.copy(config.SETTINGS_DIR / 'settings.db', config.SETTINGS_DIR / 'settings.db.bak')