refactor: name and explain user host login scope flag for mariadb
This commit is contained in:
parent
640e7d79b3
commit
6eb1607c0a
4 changed files with 35 additions and 18 deletions
|
|
@ -38,6 +38,20 @@ from frappe.utils import CallbackManager
|
|||
default=False,
|
||||
help="Set MariaDB host to % and use TCP/IP Socket instead of using the UNIX Socket",
|
||||
)
|
||||
@click.option(
|
||||
"--no-mariadb-socket",
|
||||
is_flag=True,
|
||||
default=False,
|
||||
help="DEPRECATED: Set MariaDB host to % and use TCP/IP Socket instead of using the UNIX Socket",
|
||||
)
|
||||
@click.option(
|
||||
"--mariadb-user-host-login-scope",
|
||||
help=(
|
||||
"Set the mariadb host for the user login scope if you don't want to use the current host as login "
|
||||
"scope which typically is ''@'localhost' - may be used when initializing a user on a remote host. "
|
||||
"See the mariadb docs on account names for more info."
|
||||
),
|
||||
)
|
||||
@click.option("--admin-password", help="Administrator password for new site", default=None)
|
||||
@click.option("--verbose", is_flag=True, default=False, help="Verbose")
|
||||
@click.option("--force", help="Force restore if site/database already exists", is_flag=True, default=False)
|
||||
|
|
@ -59,6 +73,7 @@ def new_site(
|
|||
source_sql=None,
|
||||
force=None,
|
||||
no_mariadb_socket=False,
|
||||
mariadb_user_host_login_scope=False,
|
||||
install_app=None,
|
||||
db_name=None,
|
||||
db_password=None,
|
||||
|
|
@ -72,11 +87,22 @@ def new_site(
|
|||
"Create a new site"
|
||||
from frappe.installer import _new_site
|
||||
|
||||
frappe.init(site=site, new_site=True)
|
||||
|
||||
if no_mariadb_socket:
|
||||
click.secho(
|
||||
"--no-mariadb-socket is DEPRECATED; "
|
||||
"use --mariadb-user-host-login-scope='%' (wildcard) or --mariadb-user-host-login-scope=<myhostscope>, instead. "
|
||||
"The name of this option was misleading: it had nothing to do with sockets.",
|
||||
fg="yellow",
|
||||
)
|
||||
frappe.flags.mariadb_user_host_login_scope = "%"
|
||||
if mariadb_user_host_login_scope:
|
||||
frappe.flags.mariadb_user_host_login_scope = mariadb_user_host_login_scope
|
||||
|
||||
rollback_callback = CallbackManager()
|
||||
|
||||
try:
|
||||
frappe.init(site=site, new_site=True)
|
||||
|
||||
_new_site(
|
||||
db_name,
|
||||
site,
|
||||
|
|
@ -87,7 +113,6 @@ def new_site(
|
|||
install_apps=install_app,
|
||||
source_sql=source_sql,
|
||||
force=force,
|
||||
no_mariadb_socket=no_mariadb_socket,
|
||||
db_password=db_password,
|
||||
db_type=db_type,
|
||||
db_host=db_host,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ from shutil import which
|
|||
from frappe.database.database import savepoint
|
||||
|
||||
|
||||
def setup_database(force, verbose=None, no_mariadb_socket=False):
|
||||
def setup_database(force, verbose=None):
|
||||
import frappe
|
||||
|
||||
if frappe.conf.db_type == "postgres":
|
||||
|
|
@ -18,9 +18,7 @@ def setup_database(force, verbose=None, no_mariadb_socket=False):
|
|||
else:
|
||||
import frappe.database.mariadb.setup_db
|
||||
|
||||
return frappe.database.mariadb.setup_db.setup_database(
|
||||
force, verbose, no_mariadb_socket=no_mariadb_socket
|
||||
)
|
||||
return frappe.database.mariadb.setup_db.setup_database(force, verbose)
|
||||
|
||||
|
||||
def bootstrap_database(verbose=None, source_sql=None):
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ def get_mariadb_version(version_string: str = ""):
|
|||
return version.rsplit(".", 1)
|
||||
|
||||
|
||||
def setup_database(force, verbose, no_mariadb_socket=False):
|
||||
def setup_database(force, verbose):
|
||||
frappe.local.session = frappe._dict({"user": "Administrator"})
|
||||
|
||||
db_user = frappe.conf.db_user
|
||||
|
|
@ -27,8 +27,9 @@ def setup_database(force, verbose, no_mariadb_socket=False):
|
|||
root_conn = get_root_connection()
|
||||
dbman = DbManager(root_conn)
|
||||
dbman_kwargs = {}
|
||||
if no_mariadb_socket:
|
||||
dbman_kwargs["host"] = "%"
|
||||
|
||||
if frappe.flags.mariadb_user_host_login_scope is not None:
|
||||
dbman_kwargs["host"] = frappe.flags.mariadb_user_host_login_scope
|
||||
|
||||
dbman.create_user(db_user, frappe.conf.db_password, **dbman_kwargs)
|
||||
if verbose:
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@ def _new_site(
|
|||
install_apps=None,
|
||||
source_sql=None,
|
||||
force=False,
|
||||
no_mariadb_socket=False,
|
||||
db_password=None,
|
||||
db_type=None,
|
||||
db_host=None,
|
||||
|
|
@ -63,10 +62,6 @@ def _new_site(
|
|||
print(f"Site {site} already exists, use `--force` to proceed anyway")
|
||||
sys.exit(1)
|
||||
|
||||
if no_mariadb_socket and db_type != "mariadb":
|
||||
print("--no-mariadb-socket requires db_type to be set to mariadb.")
|
||||
sys.exit(1)
|
||||
|
||||
frappe.init(site=site)
|
||||
|
||||
if not db_name:
|
||||
|
|
@ -96,7 +91,6 @@ def _new_site(
|
|||
db_host=db_host,
|
||||
db_port=db_port,
|
||||
db_user=db_user,
|
||||
no_mariadb_socket=no_mariadb_socket,
|
||||
setup=setup_db,
|
||||
rollback_callback=rollback_callback,
|
||||
)
|
||||
|
|
@ -133,7 +127,6 @@ def install_db(
|
|||
db_host=None,
|
||||
db_port=None,
|
||||
db_user=None,
|
||||
no_mariadb_socket=False,
|
||||
setup=True,
|
||||
rollback_callback=None,
|
||||
):
|
||||
|
|
@ -163,7 +156,7 @@ def install_db(
|
|||
frappe.flags.root_password = root_password
|
||||
|
||||
if setup:
|
||||
setup_database(force, verbose, no_mariadb_socket)
|
||||
setup_database(force, verbose)
|
||||
if rollback_callback:
|
||||
rollback_callback.add(lambda: drop_user_and_database(db_name, db_user or db_name))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue