fix: check if rollback callback is defined
Don't raise exceptions where a simple print() will suffice Print exception before prompting for rollback Signed-off-by: Akhil Narang <me@akhilnarang.dev>
This commit is contained in:
parent
c58e986a87
commit
4b2fde1d8f
3 changed files with 10 additions and 3 deletions
|
|
@ -2,6 +2,7 @@
|
|||
import os
|
||||
import shutil
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
# imports - third party imports
|
||||
import click
|
||||
|
|
@ -100,8 +101,10 @@ def new_site(
|
|||
use(site)
|
||||
|
||||
except Exception:
|
||||
traceback.print_exc()
|
||||
if sys.__stdin__.isatty() and click.confirm("Do you want to rollback the failed site?", abort=True):
|
||||
rollback_callback.run()
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
@click.command("restore")
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
import click
|
||||
|
||||
|
|
@ -36,7 +37,8 @@ def setup_database(force, verbose, no_mariadb_socket=False):
|
|||
if force or (db_name not in dbman.get_database_list()):
|
||||
dbman.drop_database(db_name)
|
||||
else:
|
||||
raise Exception(f"Database {db_name} already exists")
|
||||
print(f"Database {db_name} already exists, please drop it manually or pass `--force`.")
|
||||
sys.exit(1)
|
||||
|
||||
dbman.create_database(db_name)
|
||||
if verbose:
|
||||
|
|
|
|||
|
|
@ -89,7 +89,8 @@ def _new_site(
|
|||
enable_scheduler = False
|
||||
|
||||
make_site_dirs()
|
||||
rollback_callback.add(lambda: shutil.rmtree(frappe.get_site_path()))
|
||||
if rollback_callback:
|
||||
rollback_callback.add(lambda: shutil.rmtree(frappe.get_site_path()))
|
||||
|
||||
with filelock("bench_new_site", timeout=1):
|
||||
install_db(
|
||||
|
|
@ -173,7 +174,8 @@ def install_db(
|
|||
|
||||
if setup:
|
||||
setup_database(force, verbose, no_mariadb_socket)
|
||||
rollback_callback.add(drop_user_and_database(db_name, db_user or db_name))
|
||||
if rollback_callback:
|
||||
rollback_callback.add(drop_user_and_database(db_name, db_user or db_name))
|
||||
|
||||
bootstrap_database(
|
||||
verbose=verbose,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue