def setup_database(force, source_sql, verbose): frappe.local.session = frappe._dict({'user':'******'}) db_name = frappe.local.conf.db_name root_conn = get_root_connection(frappe.flags.root_login, frappe.flags.root_password) dbman = DbManager(root_conn) if force or (db_name not in dbman.get_database_list()): dbman.delete_user(db_name) dbman.drop_database(db_name) else: raise Exception("Database %s already exists" % (db_name,)) dbman.create_user(db_name, frappe.conf.db_password) if verbose: print("Created user %s" % db_name) dbman.create_database(db_name) if verbose: print("Created database %s" % db_name) dbman.grant_all_privileges(db_name, db_name) dbman.flush_privileges() if verbose: print("Granted privileges to user %s and database %s" % (db_name, db_name)) # close root connection root_conn.close() bootstrap_database(db_name, verbose, source_sql)
def setup_help_database(help_db_name): dbman = DbManager(get_root_connection(frappe.flags.root_login, frappe.flags.root_password)) dbman.drop_database(help_db_name) # make database if not help_db_name in dbman.get_database_list(): try: dbman.create_user(help_db_name, help_db_name) except Exception as e: # user already exists if e.args[0] != 1396: raise dbman.create_database(help_db_name) dbman.grant_all_privileges(help_db_name, help_db_name) dbman.flush_privileges()