fix: don't use frappe.flags for mariadb_user_host_login_scope

This gets reset whenever we call `frappe.init()` again

Signed-off-by: Akhil Narang <me@akhilnarang.dev>
This commit is contained in:
Akhil Narang 2024-03-29 16:52:48 +05:30
parent 39d4318a27
commit 0d3b2499fc
No known key found for this signature in database
GPG key ID: 9DCC61E211BF645F
4 changed files with 14 additions and 8 deletions

View file

@ -90,6 +90,8 @@ def new_site(
frappe.init(site=site, new_site=True)
mariadb_user_host_login_scope = None
if no_mariadb_socket:
click.secho(
"--no-mariadb-socket is DEPRECATED; "
@ -97,9 +99,9 @@ def new_site(
"The name of this option was misleading: it had nothing to do with sockets.",
fg="yellow",
)
frappe.flags.mariadb_user_host_login_scope = "%"
mariadb_user_host_login_scope = "%"
if mariadb_user_host_login_scope:
frappe.flags.mariadb_user_host_login_scope = mariadb_user_host_login_scope
mariadb_user_host_login_scope = mariadb_user_host_login_scope
rollback_callback = CallbackManager()
@ -122,6 +124,7 @@ def new_site(
db_user=db_user,
setup_db=setup_db,
rollback_callback=rollback_callback,
mariadb_user_host_login_scope=mariadb_user_host_login_scope,
)
if set_default:

View file

@ -8,7 +8,7 @@ from shutil import which
from frappe.database.database import savepoint
def setup_database(force, verbose=None):
def setup_database(force, verbose=None, mariadb_user_host_login_scope=None):
import frappe
if frappe.conf.db_type == "postgres":
@ -18,7 +18,7 @@ def setup_database(force, verbose=None):
else:
import frappe.database.mariadb.setup_db
return frappe.database.mariadb.setup_db.setup_database(force, verbose)
return frappe.database.mariadb.setup_db.setup_database(force, verbose, mariadb_user_host_login_scope)
def bootstrap_database(verbose=None, source_sql=None):

View file

@ -19,7 +19,7 @@ def get_mariadb_version(version_string: str = ""):
return version.rsplit(".", 1)
def setup_database(force, verbose):
def setup_database(force, verbose, mariadb_user_host_login_scope=None):
frappe.local.session = frappe._dict({"user": "Administrator"})
db_user = frappe.conf.db_user
@ -28,8 +28,8 @@ def setup_database(force, verbose):
dbman = DbManager(root_conn)
dbman_kwargs = {}
if frappe.flags.mariadb_user_host_login_scope is not None:
dbman_kwargs["host"] = frappe.flags.mariadb_user_host_login_scope
if mariadb_user_host_login_scope is not None:
dbman_kwargs["host"] = mariadb_user_host_login_scope
dbman.create_user(db_user, frappe.conf.db_password, **dbman_kwargs)
if verbose:

View file

@ -54,6 +54,7 @@ def _new_site(
db_user=None,
setup_db=True,
rollback_callback=None,
mariadb_user_host_login_scope=None,
):
"""Install a new Frappe site"""
@ -95,6 +96,7 @@ def _new_site(
db_user=db_user,
setup=setup_db,
rollback_callback=rollback_callback,
mariadb_user_host_login_scope=mariadb_user_host_login_scope,
)
apps_to_install = ["frappe"] + (frappe.conf.get("install_apps") or []) + (list(install_apps) or [])
@ -132,6 +134,7 @@ def install_db(
db_user=None,
setup=True,
rollback_callback=None,
mariadb_user_host_login_scope=None,
):
import frappe.database
from frappe.database import bootstrap_database, drop_user_and_database, setup_database
@ -160,7 +163,7 @@ def install_db(
frappe.flags.root_password = root_password
if setup:
setup_database(force, verbose)
setup_database(force, verbose, mariadb_user_host_login_scope)
if rollback_callback:
rollback_callback.add(lambda: drop_user_and_database(db_name, db_user or db_name))