45 lines
1.3 KiB
Python
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) |