Behebe Fehler im Hintergrund-Thread durch Hinzufügen fehlender Datenbankfelder

- 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 <noreply@anthropic.com>
This commit is contained in:
root 2025-03-13 09:46:18 +01:00
parent 9ffa70aad1
commit 2ab091b90c

View File

@ -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', '{}'))