first commit
This commit is contained in:
45
init_db.py
Normal file
45
init_db.py
Normal file
@@ -0,0 +1,45 @@
|
||||
#!/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)
|
||||
Reference in New Issue
Block a user