From c2ebdfcf8b602c7f12795cbfa82884a4afec7810 Mon Sep 17 00:00:00 2001 From: Revant Nandgaonkar Date: Thu, 16 Jul 2020 06:06:48 +0530 Subject: [PATCH] fix: condition for mariadb grants for aws rds --- build/common/commands/constants.py | 1 + build/common/commands/new.py | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/build/common/commands/constants.py b/build/common/commands/constants.py index d1767a38..48093f13 100644 --- a/build/common/commands/constants.py +++ b/build/common/commands/constants.py @@ -9,3 +9,4 @@ APPS_TXT_FILE = 'apps.txt' COMMON_SITE_CONFIG_FILE = 'common_site_config.json' DATE_FORMAT = "%Y%m%d_%H%M%S" RDS_DB = 'rds_db' +RDS_PRIVILEGES = "SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, LOCK TABLES" diff --git a/build/common/commands/new.py b/build/common/commands/new.py index 3fdf12b0..c9a39cf2 100644 --- a/build/common/commands/new.py +++ b/build/common/commands/new.py @@ -4,7 +4,7 @@ import semantic_version from frappe.commands.site import _new_site from frappe.installer import update_site_config -from constants import COMMON_SITE_CONFIG_FILE, RDS_DB +from constants import COMMON_SITE_CONFIG_FILE, RDS_DB, RDS_PRIVILEGES from utils import ( run_command, get_config, @@ -93,13 +93,14 @@ def main(): run_command(command) # Grant permission to database - command = mysql_command + [f"GRANT ALL PRIVILEGES ON `{db_name}`.* TO '{db_name}'@'%'; FLUSH PRIVILEGES;"] - run_command(command) + grant_privileges = "ALL PRIVILEGES" # for Amazon RDS - if config.get(RDS_DB) or site_config.get(RDS_DB): - command = mysql_command + [f"GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, CREATE VIEW, EVENT, TRIGGER, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EXECUTE, LOCK TABLES ON `{db_name}`.* TO '{db_name}'@'%'; FLUSH PRIVILEGES;"] - run_command(command) + if config.get(RDS_DB) or site_config.get(RDS_DB) + grant_privileges = RDS_PRIVILEGES + + command = mysql_command + [f"GRANT {grant_privileges} ON `{db_name}`.* TO '{db_name}'@'%'; FLUSH PRIVILEGES;"] + run_command(command) if frappe.redis_server: frappe.redis_server.connection_pool.disconnect()