Files
Tools/backend/datenbankverbindung.py
T
2025-06-16 10:24:54 +02:00

48 lines
1.4 KiB
Python

import json
import mysql.connector
from werkzeug.security import generate_password_hash
def lade_db_config(pfad='config/db_config.json'):
with open(pfad, 'r') as f:
return json.load(f)
def speichere_db_config(daten, pfad='config/db_config.json'):
with open(pfad, 'w') as f:
json.dump(daten, f, indent=2)
def teste_verbindung(db_config):
try:
conn = mysql.connector.connect(**db_config)
conn.close()
return True
except mysql.connector.Error as e:
print(f"[Fehler] DB-Verbindung fehlgeschlagen: {e}")
return False
def initialisiere_admin_user(db_config):
conn = mysql.connector.connect(**db_config)
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role ENUM('user', 'admin') NOT NULL DEFAULT 'user'
)
""")
cursor.execute("SELECT id FROM users WHERE username = 'admin'")
if not cursor.fetchone():
hashed_pw = generate_password_hash('admin')
cursor.execute("""
INSERT INTO users (username, password, role)
VALUES (%s, %s, 'admin')
""", ('admin', hashed_pw))
print("[INFO] Admin-Account wurde erstellt (gehashed): admin / admin")
conn.commit()
cursor.close()
conn.close()