72 lines
2.1 KiB
Python
72 lines
2.1 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import sqlite3
|
|
import os
|
|
from werkzeug.security import generate_password_hash
|
|
from datetime import datetime
|
|
|
|
# Prüfen, ob die Datenbank existiert
|
|
db_path = 'systades.db'
|
|
if not os.path.exists(db_path):
|
|
print(f"Datenbank {db_path} existiert nicht.")
|
|
exit(1)
|
|
|
|
# Verbindung zur Datenbank herstellen
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
# Überprüfen, ob bereits Benutzer vorhanden sind
|
|
cursor.execute("SELECT COUNT(*) FROM user;")
|
|
user_count = cursor.fetchone()[0]
|
|
|
|
if user_count == 0:
|
|
print("Keine Benutzer in der Datenbank gefunden. Erstelle Standardbenutzer...")
|
|
|
|
# Standardbenutzer definieren
|
|
default_users = [
|
|
{
|
|
'username': 'admin',
|
|
'email': 'admin@example.com',
|
|
'password': generate_password_hash('admin'),
|
|
'created_at': datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'),
|
|
'is_active': 1,
|
|
'role': 'admin'
|
|
},
|
|
{
|
|
'username': 'user',
|
|
'email': 'user@example.com',
|
|
'password': generate_password_hash('user'),
|
|
'created_at': datetime.utcnow().strftime('%Y-%m-%d %H:%M:%S'),
|
|
'is_active': 1,
|
|
'role': 'user'
|
|
}
|
|
]
|
|
|
|
# Benutzer einfügen
|
|
for user in default_users:
|
|
cursor.execute("""
|
|
INSERT INTO user (username, email, password, created_at, is_active, role)
|
|
VALUES (?, ?, ?, ?, ?, ?);
|
|
""", (
|
|
user['username'],
|
|
user['email'],
|
|
user['password'],
|
|
user['created_at'],
|
|
user['is_active'],
|
|
user['role']
|
|
))
|
|
conn.commit()
|
|
print(f"{len(default_users)} Standardbenutzer wurden erstellt.")
|
|
else:
|
|
print(f"Es sind bereits {user_count} Benutzer in der Datenbank vorhanden.")
|
|
|
|
# Überprüfen der eingefügten Benutzer
|
|
print("\nBenutzer in der Datenbank:")
|
|
cursor.execute("SELECT id, username, email, role FROM user;")
|
|
users = cursor.fetchall()
|
|
for user in users:
|
|
print(f"ID: {user[0]}, Benutzername: {user[1]}, E-Mail: {user[2]}, Rolle: {user[3]}")
|
|
|
|
conn.close()
|
|
print("\nBenutzeraktualisierung abgeschlossen.") |