import mariadb import os def get_external_db_connection(): """Get MariaDB connection using external_server.conf""" settings_file = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../instance/external_server.conf')) settings = {} with open(settings_file, 'r') as f: for line in f: key, value = line.strip().split('=', 1) settings[key] = value return mariadb.connect( user=settings['username'], password=settings['password'], host=settings['server_domain'], port=int(settings['port']), database=settings['database_name'] ) def create_external_users_table(): """Create users table and superadmin user in external MariaDB database""" try: conn = get_external_db_connection() cursor = conn.cursor() # Create users table if not exists (MariaDB syntax) cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(255) NOT NULL, role VARCHAR(50) NOT NULL ) ''') # Insert superadmin user if not exists cursor.execute(''' INSERT IGNORE INTO users (username, password, role) VALUES (%s, %s, %s) ''', ('superadmin', 'superadmin123', 'superadmin')) # Check if user was created/exists cursor.execute("SELECT username, password, role FROM users WHERE username = %s", ('superadmin',)) result = cursor.fetchone() if result: print(f"SUCCESS: Superadmin user exists in external database") print(f"Username: {result[0]}, Password: {result[1]}, Role: {result[2]}") else: print("ERROR: Failed to create/find superadmin user") conn.commit() conn.close() print("External MariaDB users table setup completed.") except Exception as e: print(f"ERROR: {e}") if __name__ == "__main__": create_external_users_table()