From 744a84663e854d749de2714479750c46e4a1fcd5 Mon Sep 17 00:00:00 2001 From: Thomas Arnold Date: Fri, 23 Jan 2026 23:13:03 +0100 Subject: [PATCH] Corrections of SQL Alchemy error --- app/main.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/app/main.py b/app/main.py index 67e61a7..dff4584 100644 --- a/app/main.py +++ b/app/main.py @@ -7,6 +7,7 @@ import os, json from datetime import datetime, timedelta from io import BytesIO from xhtml2pdf import pisa +from sqlalchemy import text app = Flask(__name__) @@ -61,17 +62,17 @@ def load_user(user_id): # --- Hilfsfunktionen --- def get_calculated_schedule(car_num): config = RaceConfig.query.first() - stints = Stint.query.filter_by(car_number=car_num).order_by(Stint.order).all() + if not config: return [] + stints = Stint.query.filter_by(car_number=car_num).order_by(Stint.order).all() schedule = [] current_time = config.start_time - fuel_capacity = 120.0 # Liter (Beispielhaft fixiert) + fuel_capacity = 120.0 for i, stint in enumerate(stints): driver = stint.driver if not driver: continue - # Vereinfachte Berechnung: Ein Stint ist voll, wenn der Tank leer ist laps_possible = int(fuel_capacity / driver.cons_per_lap) duration_sec = laps_possible * driver.avg_lap_time @@ -172,11 +173,21 @@ def logout(): if __name__ == '__main__': with app.app_context(): db.create_all() - # Initialer User falls nicht vorhanden + + # Manueller Fix: Spalte 'theme' hinzufügen, falls sie fehlt (SQLite-spezifisch) + try: + db.session.execute(text("ALTER TABLE user ADD COLUMN theme VARCHAR(20) DEFAULT 'light'")) + db.session.commit() + except Exception: + # Fehler tritt auf, wenn Spalte bereits existiert – das ist ok + db.session.rollback() + if not User.query.filter_by(username='mscaltenbach').first(): pw = generate_password_hash('admin123') db.session.add(User(username='mscaltenbach', password=pw, theme='light')) + if not RaceConfig.query.first(): db.session.add(RaceConfig()) + db.session.commit() app.run(host='0.0.0.0', port=5000, debug=True) \ No newline at end of file