From 2ab091b90c1c9ce1932ff2ef1aef33168fa06f11 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 13 Mar 2025 09:46:18 +0100 Subject: [PATCH] =?UTF-8?q?Behebe=20Fehler=20im=20Hintergrund-Thread=20dur?= =?UTF-8?q?ch=20Hinzuf=C3=BCgen=20fehlender=20Datenbankfelder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Erweitere init_db Funktion, um fehlende connection_status und last_seen Spalten in der socket Tabelle zu prüfen - Füge Spalten dynamisch hinzu, falls sie nicht existieren - Verhindert den Fehler 'no such column: connection_status' im background_job_checker 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- backend/app.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/backend/app.py b/backend/app.py index 8abd556..59117a5 100755 --- a/backend/app.py +++ b/backend/app.py @@ -120,6 +120,23 @@ def init_db(): ); ''') + # Überprüfe, ob die fehlenden Spalten bereits existieren, und füge sie hinzu, falls nicht + try: + # Prüfe, ob die connection_status-Spalte existiert + db.execute('SELECT connection_status FROM socket LIMIT 1') + except sqlite3.OperationalError: + # Spalte existiert nicht, füge sie hinzu + app.logger.info("Füge connection_status-Spalte zur socket-Tabelle hinzu") + db.execute('ALTER TABLE socket ADD COLUMN connection_status TEXT DEFAULT "unknown"') + + try: + # Prüfe, ob die last_seen-Spalte existiert + db.execute('SELECT last_seen FROM socket LIMIT 1') + except sqlite3.OperationalError: + # Spalte existiert nicht, füge sie hinzu + app.logger.info("Füge last_seen-Spalte zur socket-Tabelle hinzu") + db.execute('ALTER TABLE socket ADD COLUMN last_seen TIMESTAMP') + db.commit() PRINTERS = json.loads(os.environ.get('PRINTERS', '{}'))