瀏覽代碼

add restore-path support for sqlite

Divyansh Singh 2 年之前
父節點
當前提交
62b6f13299
共有 2 個文件被更改,包括 3 次插入2 次删除
  1. 1 0
      borgmatic/actions/restore.py
  2. 2 2
      borgmatic/hooks/sqlite.py

+ 1 - 0
borgmatic/actions/restore.py

@@ -316,6 +316,7 @@ def run_restore(
                 'port': restore_arguments.port,
                 'username': restore_arguments.username,
                 'password': restore_arguments.password,
+                'restore_path': restore_arguments.restore_path,
             }
 
             if not found_database:

+ 2 - 2
borgmatic/hooks/sqlite.py

@@ -85,7 +85,7 @@ def make_database_dump_pattern(
     return dump.make_database_dump_filename(make_dump_path(location_config), name)
 
 
-def restore_database_dump(database_config, log_prefix, location_config, dry_run, extract_process):
+def restore_database_dump(database_config, log_prefix, location_config, dry_run, extract_process, connection_params):
     '''
     Restore the given SQLite3 database from an extract stream. The database is supplied as a
     one-element sequence containing a dict describing the database, as per the configuration schema.
@@ -98,7 +98,7 @@ def restore_database_dump(database_config, log_prefix, location_config, dry_run,
     if len(database_config) != 1:
         raise ValueError('The database configuration value is invalid')
 
-    database_path = database_config[0]['path']
+    database_path = connection_params['restore_path'] or database_config[0].get('restore_path', database_config[0].get('path'))
 
     logger.debug(f'{log_prefix}: Restoring SQLite database at {database_path}{dry_run_label}')
     if dry_run: