60 lines
2.1 KiB
Python
Executable File
60 lines
2.1 KiB
Python
Executable File
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() |