wordpress: Drop database user when app is uninstalled

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Sunil Mohan Adapa 2024-03-08 15:32:03 -08:00 committed by James Valleroy
parent d615ff107e
commit f0ff0c181b
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808

View File

@ -183,14 +183,18 @@ def _load_augeas():
@privileged @privileged
def uninstall(): def uninstall():
"""Remove config files and drop database.""" """Remove config files and drop database."""
_drop_database() _drop_database(DB_HOST, DB_NAME, DB_USER)
for file_ in [_public_access_file, _config_file_path, _db_file_path]: for file_ in [_public_access_file, _config_file_path, _db_file_path]:
file_.unlink(missing_ok=True) file_.unlink(missing_ok=True)
def _drop_database(): def _drop_database(db_host, db_name, db_user):
"""Drop the mysql database that was created during install.""" """Drop the mysql database that was created during install."""
with action_utils.service_ensure_running('mysql'): with action_utils.service_ensure_running('mysql'):
query = f'''DROP DATABASE {DB_NAME};''' query = f"DROP DATABASE {db_name};"
subprocess.run(['mysql', '--user', 'root'], input=query.encode(), subprocess.run(['mysql', '--user', 'root'], input=query.encode(),
check=True) check=False)
query = f"DROP USER IF EXISTS {db_user}@{db_host};"
subprocess.run(['mysql', '--user', 'root'], input=query.encode(),
check=False)