Merge branch 'v1' of csclub.uwaterloo.ca:public/pyceo into v1
This commit is contained in:
commit
40ee927b91
|
@ -46,17 +46,21 @@ class MySQLService:
|
|||
password = gen_password()
|
||||
search_for_user = f"SELECT user FROM mysql.user WHERE user='{username}'"
|
||||
search_for_db = f"SHOW DATABASES LIKE '{username}'"
|
||||
create_user = f"""
|
||||
CREATE USER '{username}'@'%' IDENTIFIED BY %(password)s;
|
||||
"""
|
||||
# CREATE USER can't be used in a query with multiple statements
|
||||
create_user_commands = [
|
||||
f"CREATE USER '{username}'@'localhost' IDENTIFIED BY %(password)s",
|
||||
f"CREATE USER '{username}'@'%' IDENTIFIED BY %(password)s",
|
||||
]
|
||||
create_database = f"""
|
||||
CREATE DATABASE {username};
|
||||
GRANT ALL PRIVILEGES ON {username}.* TO '{username}'@'localhost';
|
||||
GRANT ALL PRIVILEGES ON {username}.* TO '{username}'@'%';
|
||||
"""
|
||||
|
||||
with self.mysql_connection() as con, con.cursor() as cursor:
|
||||
if response_is_empty(search_for_user, con):
|
||||
cursor.execute(create_user, {'password': password})
|
||||
for cmd in create_user_commands:
|
||||
cursor.execute(cmd, {'password': password})
|
||||
if response_is_empty(search_for_db, con):
|
||||
cursor.execute(create_database)
|
||||
else:
|
||||
|
@ -67,7 +71,8 @@ class MySQLService:
|
|||
password = gen_password()
|
||||
search_for_user = f"SELECT user FROM mysql.user WHERE user='{username}'"
|
||||
reset_password = f"""
|
||||
ALTER USER '{username}'@'%' IDENTIFIED BY %(password)s
|
||||
ALTER USER '{username}'@'localhost' IDENTIFIED BY %(password)s;
|
||||
ALTER USER '{username}'@'%' IDENTIFIED BY %(password)s;
|
||||
"""
|
||||
|
||||
with self.mysql_connection() as con, con.cursor() as cursor:
|
||||
|
@ -80,6 +85,7 @@ class MySQLService:
|
|||
def delete_db(self, username: str):
|
||||
drop_db = f"DROP DATABASE IF EXISTS {username}"
|
||||
drop_user = f"""
|
||||
DROP USER IF EXISTS '{username}'@'localhost';
|
||||
DROP USER IF EXISTS '{username}'@'%';
|
||||
"""
|
||||
|
||||
|
|
Loading…
Reference in New Issue