QueryBuilder/init_db.py
2025-10-14 21:27:41 +02:00

45 lines
1.3 KiB
Python

#!/usr/bin/env python3
"""
Initialisierungs-Script für Query Builder Datenbank
Erstellt das neue Schema und löscht alte Datenbank-Dateien
"""
import os
import sys
import glob
# Lösche alle .db Dateien
print("Lösche alte Datenbankdateien...")
db_files = glob.glob("*.db")
for db_file in db_files:
try:
os.remove(db_file)
print(f"Gelöscht: {db_file}")
except Exception as e:
print(f"Fehler beim Löschen von {db_file}: {e}")
# Initialisiere neue Datenbank
print("Erstelle neue Datenbank mit korrektem Schema...")
try:
from app import create_app, db
from app.models import User, SavedQuery, DatabaseConnection
app = create_app()
with app.app_context():
# Erstelle alle Tabellen
db.create_all()
# Erstelle Standard-Admin-User falls nicht vorhanden
admin = User.query.filter_by(username='admin').first()
if not admin:
admin = User(username='admin', email='admin@example.com')
admin.set_password('admin123')
db.session.add(admin)
db.session.commit()
print("Admin-Benutzer erstellt: admin/admin123")
print("Datenbank erfolgreich initialisiert!")
except Exception as e:
print(f"Fehler bei der Datenbankinitialisierung: {e}")
sys.exit(1)