From ff17accc9bbd4e7156d8101316bdb196f718acb8 Mon Sep 17 00:00:00 2001 From: Rod Schouteden Date: Wed, 23 Oct 2024 07:44:46 +0200 Subject: [PATCH 1/2] [FIX] use subprocess to restore the database --- click_odoo_contrib/restoredb.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/click_odoo_contrib/restoredb.py b/click_odoo_contrib/restoredb.py index 9c01099..723541d 100644 --- a/click_odoo_contrib/restoredb.py +++ b/click_odoo_contrib/restoredb.py @@ -4,6 +4,7 @@ import os import shutil +import subprocess import click import click_odoo @@ -29,7 +30,15 @@ def _restore_from_folder(dbname, backup, copy=True, jobs=1, neutralize=False): odoo.service.db._create_empty_database(dbname) pg_args = ["--jobs", str(jobs), "--dbname", dbname, "--no-owner", dbdump_file_path] - if odoo.tools.exec_pg_command("pg_restore", *pg_args): + pg_env = odoo.tools.misc.exec_pg_environ() + r = subprocess.run( + "pg_restore", + pg_args, + env=pg_env, + stdout=subprocess.DEVNULL, + stderr=subprocess.STDOUT, + ) + if r.returncode != 0: raise click.ClickException("Couldn't restore database") if copy: # if it's a copy of a database, force generation of a new dbuuid From 43c1b480d132652f4b5cf6be471d710f94dbfe22 Mon Sep 17 00:00:00 2001 From: Rod Schouteden Date: Wed, 23 Oct 2024 08:51:48 +0200 Subject: [PATCH 2/2] fix run parameter --- click_odoo_contrib/restoredb.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/click_odoo_contrib/restoredb.py b/click_odoo_contrib/restoredb.py index 723541d..c7204b4 100644 --- a/click_odoo_contrib/restoredb.py +++ b/click_odoo_contrib/restoredb.py @@ -32,8 +32,7 @@ def _restore_from_folder(dbname, backup, copy=True, jobs=1, neutralize=False): pg_args = ["--jobs", str(jobs), "--dbname", dbname, "--no-owner", dbdump_file_path] pg_env = odoo.tools.misc.exec_pg_environ() r = subprocess.run( - "pg_restore", - pg_args, + ["pg_restore", *pg_args], env=pg_env, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT,