🗑️ Refactor: Remove obsolete printer check scripts and update app logic

**Änderungen:**
-  check_printer_ips.py und check_printers.py: Entfernt nicht mehr benötigte Skripte zur Überprüfung von Drucker-IP-Adressen.
-  DRUCKER_STATUS_REQUIREMENTS.md: Veraltete Anforderungen entfernt.
-  setup_standard_printers.py: Anpassungen zur Vereinheitlichung der Drucker-IP.
-  app.py: Logik zur Filterung offline/unreachable Drucker aktualisiert.

**Ergebnis:**
- Bereinigung des Codes durch Entfernen nicht mehr benötigter Dateien.
- Optimierte Logik zur Handhabung von Druckerstatus in der Anwendung.

🤖 Generated with [Claude Code](https://claude.ai/code)
This commit is contained in:
2025-06-15 23:59:39 +02:00
parent 956c24d8ca
commit c4e65a07a9
1258 changed files with 11101 additions and 609 deletions

View File

@ -10,3 +10,754 @@
2025-06-15 22:17:11 - [__main__] __main__ - [INFO] INFO - - 0 Drucker aktualisiert
2025-06-15 22:17:11 - [__main__] __main__ - [INFO] INFO - - 12 Drucker insgesamt in TBA Marienfelde
2025-06-15 22:27:53 - [__main__] __main__ - [ERROR] ERROR - Test-Fehler: No module named 'backend.utils'
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - 🚀 Starte MYP Drucker-Bereinigung
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ============================================================
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - SCHRITT 1: Analyse der aktuellen Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - 🔍 Analysiere aktuelle Drucker-Datenbank...
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - 📊 Gefunden: 18 Drucker in der Datenbank
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - 📍 Drucker nach Standort:
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 1: 1 Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 2: 1 Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 1: 1 Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 2: 1 Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Labor - SLA-Bereich: 1 Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Werkstatt - Spezialbereich: 1 Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - TBA Marienfelde: 12 Drucker
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - 🔄 Duplikate nach Namen:
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ✅ Keine Duplikate gefunden
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO -
SCHRITT 2: Dry Run der Bereinigung
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: True)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 1 - Halle A (ID: 1)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 2 - Halle A (ID: 2)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 3 - Halle B (ID: 3)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 4 - Halle B (ID: 4)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 5 - Labor (ID: 5)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 6 - Werkstatt (ID: 6)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-001 (ID: 13)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-002 (ID: 14)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-003 (ID: 15)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-004 (ID: 16)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-005 (ID: 17)
2025-06-15 22:46:40 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-006 (ID: 18)
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 22:46:40 - [__main__] __main__ - [INFO] INFO - Dry Run - keine Änderungen vorgenommen
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO -
SCHRITT 3: Tatsächliche Bereinigung
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: False)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 1 - Halle A (ID: 1)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 2 - Halle A (ID: 2)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 3 - Halle B (ID: 3)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 4 - Halle B (ID: 4)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 5 - Labor (ID: 5)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 6 - Werkstatt (ID: 6)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-001 (ID: 13)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-002 (ID: 14)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-003 (ID: 15)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-004 (ID: 16)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-005 (ID: 17)
2025-06-15 22:58:50 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-006 (ID: 18)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - 🚀 Führe tatsächliche Bereinigung durch...
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ Drucker 3D-Drucker 1 - Halle A (ID: 1) entfernt
2025-06-15 22:58:50 - [__main__] __main__ - [ERROR] ERROR - ❌ Fehler bei der Bereinigung: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(sqlite3.IntegrityError) FOREIGN KEY constraint failed
[SQL: DELETE FROM printers WHERE printers.id = ?]
[parameters: (1,)]
(Background on this error at: https://sqlalche.me/e/20/gkpj) (Background on this error at: https://sqlalche.me/e/20/7s2a)
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - ✅ 0 Drucker entfernt
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO -
SCHRITT 4: Korrekte Drucker sicherstellen
2025-06-15 22:58:50 - [__main__] __main__ - [INFO] INFO - 🔧 Stelle korrekte Drucker-Konfiguration sicher...
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 1
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 2
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 3
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 4
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 5
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 6
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - ✅ Drucker-Konfiguration abgeschlossen:
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - Erstellt: 0
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - Aktualisiert: 6
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO -
SCHRITT 5: Finalen Zustand überprüfen
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🔍 Überprüfe finalen Zustand...
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 22:58:51 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Zusätzliche Drucker: {'3D-Drucker 6 - Werkstatt', '3D-Drucker-004', '3D-Drucker 3 - Halle B', '3D-Drucker-005', '3D-Drucker-006', '3D-Drucker-003', '3D-Drucker 2 - Halle A', '3D-Drucker 1 - Halle A', '3D-Drucker-002', '3D-Drucker-001', '3D-Drucker 4 - Halle B', '3D-Drucker 5 - Labor'}
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 📋 Finale Drucker-Liste:
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO -
============================================================
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 🎉 BEREINIGUNG ABGESCHLOSSEN
2025-06-15 22:58:51 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 22:58:51 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Drucker-Konfiguration nicht optimal
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - 🚀 Starte MYP Drucker-Bereinigung
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ============================================================
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - SCHRITT 1: Analyse der aktuellen Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - 🔍 Analysiere aktuelle Drucker-Datenbank...
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - 📊 Gefunden: 18 Drucker in der Datenbank
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - 📍 Drucker nach Standort:
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 1: 1 Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 2: 1 Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 1: 1 Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 2: 1 Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Labor - SLA-Bereich: 1 Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Werkstatt - Spezialbereich: 1 Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - TBA Marienfelde: 12 Drucker
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - 🔄 Duplikate nach Namen:
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ✅ Keine Duplikate gefunden
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO -
SCHRITT 2: Dry Run der Bereinigung
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: True)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 1 - Halle A (ID: 1)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 2 - Halle A (ID: 2)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 3 - Halle B (ID: 3)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 4 - Halle B (ID: 4)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 5 - Labor (ID: 5)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 6 - Werkstatt (ID: 6)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-001 (ID: 13)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-002 (ID: 14)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-003 (ID: 15)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-004 (ID: 16)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-005 (ID: 17)
2025-06-15 22:59:05 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-006 (ID: 18)
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 22:59:05 - [__main__] __main__ - [INFO] INFO - Dry Run - keine Änderungen vorgenommen
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO -
SCHRITT 3: Tatsächliche Bereinigung
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: False)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 1 - Halle A (ID: 1)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 2 - Halle A (ID: 2)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 3 - Halle B (ID: 3)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 4 - Halle B (ID: 4)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 5 - Labor (ID: 5)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 6 - Werkstatt (ID: 6)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-001 (ID: 13)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-002 (ID: 14)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-003 (ID: 15)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-004 (ID: 16)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-005 (ID: 17)
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-006 (ID: 18)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🚀 Führe tatsächliche Bereinigung durch...
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Drucker 3D-Drucker 1 - Halle A (ID: 1) entfernt
2025-06-15 22:59:30 - [__main__] __main__ - [ERROR] ERROR - ❌ Fehler bei der Bereinigung: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(sqlite3.IntegrityError) FOREIGN KEY constraint failed
[SQL: DELETE FROM printers WHERE printers.id = ?]
[parameters: (1,)]
(Background on this error at: https://sqlalche.me/e/20/gkpj) (Background on this error at: https://sqlalche.me/e/20/7s2a)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ 0 Drucker entfernt
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO -
SCHRITT 4: Korrekte Drucker sicherstellen
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔧 Stelle korrekte Drucker-Konfiguration sicher...
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 1
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 2
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 3
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 4
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 5
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 6
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - ✅ Drucker-Konfiguration abgeschlossen:
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - Erstellt: 0
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - Aktualisiert: 6
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO -
SCHRITT 5: Finalen Zustand überprüfen
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🔍 Überprüfe finalen Zustand...
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Zusätzliche Drucker: {'3D-Drucker 4 - Halle B', '3D-Drucker 2 - Halle A', '3D-Drucker-004', '3D-Drucker 3 - Halle B', '3D-Drucker-005', '3D-Drucker-006', '3D-Drucker-002', '3D-Drucker 5 - Labor', '3D-Drucker 6 - Werkstatt', '3D-Drucker-001', '3D-Drucker 1 - Halle A', '3D-Drucker-003'}
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 📋 Finale Drucker-Liste:
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO -
============================================================
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 🎉 BEREINIGUNG ABGESCHLOSSEN
2025-06-15 22:59:30 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 22:59:30 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Drucker-Konfiguration nicht optimal
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🚀 Starte MYP Drucker-Bereinigung
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ============================================================
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - SCHRITT 1: Analyse der aktuellen Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔍 Analysiere aktuelle Drucker-Datenbank...
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 📊 Gefunden: 18 Drucker in der Datenbank
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 📍 Drucker nach Standort:
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 1: 1 Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 2: 1 Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 1: 1 Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 2: 1 Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Labor - SLA-Bereich: 1 Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Werkstatt - Spezialbereich: 1 Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - TBA Marienfelde: 12 Drucker
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔄 Duplikate nach Namen:
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Keine Duplikate gefunden
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO -
SCHRITT 2: Dry Run der Bereinigung
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: True)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 1 - Halle A (ID: 1)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 2 - Halle A (ID: 2)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 3 - Halle B (ID: 3)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 4 - Halle B (ID: 4)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 5 - Labor (ID: 5)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 6 - Werkstatt (ID: 6)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-001 (ID: 13)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-002 (ID: 14)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-003 (ID: 15)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-004 (ID: 16)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-005 (ID: 17)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-006 (ID: 18)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Dry Run - keine Änderungen vorgenommen
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO -
⚠️ 12 Drucker werden entfernt...
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🚀 Führe automatische Bereinigung durch...
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO -
SCHRITT 3: Tatsächliche Bereinigung
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: False)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 1 - Halle A (ID: 1)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 2 - Halle A (ID: 2)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 3 - Halle B (ID: 3)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 4 - Halle B (ID: 4)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 5 - Labor (ID: 5)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker 6 - Werkstatt (ID: 6)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-001 (ID: 13)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-002 (ID: 14)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-003 (ID: 15)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-004 (ID: 16)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-005 (ID: 17)
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne unbekannten Drucker 3D-Drucker-006 (ID: 18)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🚀 Führe tatsächliche Bereinigung durch...
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Drucker 3D-Drucker 1 - Halle A (ID: 1) entfernt
2025-06-15 22:59:56 - [__main__] __main__ - [ERROR] ERROR - ❌ Fehler bei der Bereinigung: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(sqlite3.IntegrityError) FOREIGN KEY constraint failed
[SQL: DELETE FROM printers WHERE printers.id = ?]
[parameters: (1,)]
(Background on this error at: https://sqlalche.me/e/20/gkpj) (Background on this error at: https://sqlalche.me/e/20/7s2a)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ 0 Drucker entfernt
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO -
SCHRITT 4: Korrekte Drucker sicherstellen
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔧 Stelle korrekte Drucker-Konfiguration sicher...
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 1
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 2
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 3
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 4
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 5
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 6
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - ✅ Drucker-Konfiguration abgeschlossen:
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Erstellt: 0
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - Aktualisiert: 6
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO -
SCHRITT 5: Finalen Zustand überprüfen
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🔍 Überprüfe finalen Zustand...
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Zusätzliche Drucker: {'3D-Drucker 5 - Labor', '3D-Drucker 2 - Halle A', '3D-Drucker 3 - Halle B', '3D-Drucker-001', '3D-Drucker-002', '3D-Drucker-005', '3D-Drucker 4 - Halle B', '3D-Drucker 1 - Halle A', '3D-Drucker-004', '3D-Drucker 6 - Werkstatt', '3D-Drucker-003', '3D-Drucker-006'}
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 📋 Finale Drucker-Liste:
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO -
============================================================
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 🎉 BEREINIGUNG ABGESCHLOSSEN
2025-06-15 22:59:56 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 22:59:56 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Drucker-Konfiguration nicht optimal
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🚀 Starte MYP Drucker-Bereinigung
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ============================================================
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - SCHRITT 1: Analyse der aktuellen Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🔍 Analysiere aktuelle Drucker-Datenbank...
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 📊 Gefunden: 18 Drucker in der Datenbank
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 📍 Drucker nach Standort:
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 1: 1 Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Halle A - Arbeitsplatz 2: 1 Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 1: 1 Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Halle B - Arbeitsplatz 2: 1 Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Labor - SLA-Bereich: 1 Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Werkstatt - Spezialbereich: 1 Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - TBA Marienfelde: 12 Drucker
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🔄 Duplikate nach Namen:
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Keine Duplikate gefunden
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO -
SCHRITT 2: Dry Run der Bereinigung
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: True)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 1 - Halle A (ID: 1) - falscher Standort (Halle A - Arbeitsplatz 1)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 2 - Halle A (ID: 2) - falscher Standort (Halle A - Arbeitsplatz 2)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 3 - Halle B (ID: 3) - falscher Standort (Halle B - Arbeitsplatz 1)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 4 - Halle B (ID: 4) - falscher Standort (Halle B - Arbeitsplatz 2)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 5 - Labor (ID: 5) - falscher Standort (Labor - SLA-Bereich)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 6 - Werkstatt (ID: 6) - falscher Standort (Werkstatt - Spezialbereich)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-001 (ID: 13) - falscher Name (3D-Drucker-001)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-002 (ID: 14) - falscher Name (3D-Drucker-002)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-003 (ID: 15) - falscher Name (3D-Drucker-003)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-004 (ID: 16) - falscher Name (3D-Drucker-004)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-005 (ID: 17) - falscher Name (3D-Drucker-005)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-006 (ID: 18) - falscher Name (3D-Drucker-006)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Dry Run - keine Änderungen vorgenommen
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO -
⚠️ 12 Drucker werden entfernt...
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🚀 Führe automatische Bereinigung durch...
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO -
SCHRITT 3: Tatsächliche Bereinigung
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🧹 Starte Duplikat-Bereinigung (Dry Run: False)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 1 - Halle A (ID: 1) - falscher Standort (Halle A - Arbeitsplatz 1)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 2 - Halle A (ID: 2) - falscher Standort (Halle A - Arbeitsplatz 2)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 3 - Halle B (ID: 3) - falscher Standort (Halle B - Arbeitsplatz 1)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 4 - Halle B (ID: 4) - falscher Standort (Halle B - Arbeitsplatz 2)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 5 - Labor (ID: 5) - falscher Standort (Labor - SLA-Bereich)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker 6 - Werkstatt (ID: 6) - falscher Standort (Werkstatt - Spezialbereich)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 1 (ID: 7)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 2 (ID: 8)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 3 (ID: 9)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 4 (ID: 10)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 5 (ID: 11)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Behalte Drucker Drucker 6 (ID: 12)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-001 (ID: 13) - falscher Name (3D-Drucker-001)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-002 (ID: 14) - falscher Name (3D-Drucker-002)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-003 (ID: 15) - falscher Name (3D-Drucker-003)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-004 (ID: 16) - falscher Name (3D-Drucker-004)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-005 (ID: 17) - falscher Name (3D-Drucker-005)
2025-06-15 23:01:06 - [__main__] __main__ - [WARNING] WARNING - 🗑️ Entferne Drucker 3D-Drucker-006 (ID: 18) - falscher Name (3D-Drucker-006)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 📊 Bereinigungsplan:
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Drucker behalten: 6
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - Drucker entfernen: 12
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🚀 Führe tatsächliche Bereinigung durch...
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ Drucker 3D-Drucker 1 - Halle A (ID: 1) entfernt
2025-06-15 23:01:06 - [__main__] __main__ - [ERROR] ERROR - ❌ Fehler bei der Bereinigung: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely)
(sqlite3.IntegrityError) FOREIGN KEY constraint failed
[SQL: DELETE FROM printers WHERE printers.id = ?]
[parameters: (1,)]
(Background on this error at: https://sqlalche.me/e/20/gkpj) (Background on this error at: https://sqlalche.me/e/20/7s2a)
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - ✅ 0 Drucker entfernt
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO -
SCHRITT 4: Korrekte Drucker sicherstellen
2025-06-15 23:01:06 - [__main__] __main__ - [INFO] INFO - 🔧 Stelle korrekte Drucker-Konfiguration sicher...
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 1
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 2
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 3
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 4
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 5
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🔄 Aktualisiere Drucker Drucker 6
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - ✅ Drucker-Konfiguration abgeschlossen:
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - Erstellt: 0
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - Aktualisiert: 6
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO -
SCHRITT 5: Finalen Zustand überprüfen
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🔍 Überprüfe finalen Zustand...
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 23:01:07 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Zusätzliche Drucker: {'3D-Drucker-005', '3D-Drucker 5 - Labor', '3D-Drucker-004', '3D-Drucker 3 - Halle B', '3D-Drucker 2 - Halle A', '3D-Drucker 4 - Halle B', '3D-Drucker 6 - Werkstatt', '3D-Drucker-003', '3D-Drucker-001', '3D-Drucker-002', '3D-Drucker 1 - Halle A', '3D-Drucker-006'}
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 📋 Finale Drucker-Liste:
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 1 - Halle A (ID: 1, IP: 192.168.1.101, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 2 - Halle A (ID: 2, IP: 192.168.1.102, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 3 - Halle B (ID: 3, IP: 192.168.1.103, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 4 - Halle B (ID: 4, IP: 192.168.1.104, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 5 - Labor (ID: 5, IP: 192.168.1.105, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker 6 - Werkstatt (ID: 6, IP: 192.168.1.106, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - Drucker 1 (ID: 7, IP: 192.168.0.100, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - Drucker 2 (ID: 8, IP: 192.168.0.101, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - Drucker 3 (ID: 9, IP: 192.168.0.102, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - Drucker 4 (ID: 10, IP: 192.168.0.103, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - Drucker 5 (ID: 11, IP: 192.168.0.104, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - Drucker 6 (ID: 12, IP: 192.168.0.106, Status: offline)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-001 (ID: 13, IP: 192.168.0.101, Status: idle)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-002 (ID: 14, IP: 192.168.0.102, Status: idle)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-003 (ID: 15, IP: 192.168.0.103, Status: idle)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-004 (ID: 16, IP: 192.168.0.104, Status: idle)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-005 (ID: 17, IP: 192.168.0.105, Status: idle)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - - 3D-Drucker-006 (ID: 18, IP: 192.168.0.106, Status: idle)
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO -
============================================================
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 🎉 BEREINIGUNG ABGESCHLOSSEN
2025-06-15 23:01:07 - [__main__] __main__ - [INFO] INFO - 📊 Finale Drucker-Anzahl: 18
2025-06-15 23:01:07 - [__main__] __main__ - [WARNING] WARNING - ⚠️ Drucker-Konfiguration nicht optimal
2025-06-15 23:01:57 - [__main__] __main__ - [INFO] INFO - 🚀 Starte direkte Drucker-Bereinigung
2025-06-15 23:01:57 - [__main__] __main__ - [ERROR] ERROR - ❌ Fehler bei der direkten Bereinigung: Textual SQL expression 'SELECT COUNT(*) FROM prin...' should be explicitly declared as text('SELECT COUNT(*) FROM prin...')
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - 🚀 Erstelle korrekte TBA Marienfelde Drucker
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ✅ Drucker Drucker 1 erstellt
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ✅ Drucker Drucker 2 erstellt
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ✅ Drucker Drucker 3 erstellt
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ✅ Drucker Drucker 4 erstellt
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ✅ Drucker Drucker 5 erstellt
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ✅ Drucker Drucker 6 erstellt
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ============================================================
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - 🎉 DRUCKER-ERSTELLUNG ABGESCHLOSSEN
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - Neue Drucker erstellt: 6
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - 📊 Drucker gesamt: 6
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - 📊 TBA Marienfelde aktiv: 6
2025-06-15 23:03:59 - [__main__] __main__ - [INFO] INFO - ✅ Perfekt! Genau 6 korrekte TBA Marienfelde Drucker
2025-06-15 23:20:42 - [__main__] __main__ - [INFO] INFO - 🔍 Validiere Drucker-Konfiguration...
2025-06-15 23:20:42 - [__main__] __main__ - [INFO] INFO - 📊 Gefundene Drucker: 6
2025-06-15 23:20:42 - [__main__] __main__ - [INFO] INFO - ✅ Drucker-Konfiguration ist korrekt
2025-06-15 23:20:42 - [__main__] __main__ - [INFO] INFO - ✅ Alle 6 TBA Marienfelde Drucker vorhanden
2025-06-15 23:20:42 - [__main__] __main__ - [INFO] INFO - ✅ Keine redundanten Drucker
2025-06-15 23:33:35 - [__main__] __main__ - [INFO] INFO - 🚀 MYP Admin-Update gestartet
2025-06-15 23:33:35 - [__main__] __main__ - [ERROR] ERROR - ❌ Kein Admin-Benutzer gefunden!
2025-06-15 23:33:35 - [__main__] __main__ - [ERROR] ERROR - ❌ Admin-Update fehlgeschlagen
2025-06-15 23:35:04 - [__main__] __main__ - [ERROR] ERROR - Debug-Fehler: (sqlite3.OperationalError) no such table: jobs
[SQL: SELECT jobs.id AS jobs_id, jobs.name AS jobs_name, jobs.description AS jobs_description, jobs.user_id AS jobs_user_id, jobs.printer_id AS jobs_printer_id, jobs.start_at AS jobs_start_at, jobs.end_at AS jobs_end_at, jobs.actual_end_time AS jobs_actual_end_time, jobs.status AS jobs_status, jobs.created_at AS jobs_created_at, jobs.notes AS jobs_notes, jobs.material_used AS jobs_material_used, jobs.file_path AS jobs_file_path, jobs.owner_id AS jobs_owner_id, jobs.duration_minutes AS jobs_duration_minutes
FROM jobs]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
self.dialect.do_execute(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: jobs
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug_job_delete.py", line 28, in debug_job_delete
jobs = db_session.query(Job).all()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2693, in all
return self._iter().all() # type: ignore
^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2847, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2308, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2190, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1639, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1848, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1988, in _exec_single_context
self._handle_dbapi_exception(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2343, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
self.dialect.do_execute(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: jobs
[SQL: SELECT jobs.id AS jobs_id, jobs.name AS jobs_name, jobs.description AS jobs_description, jobs.user_id AS jobs_user_id, jobs.printer_id AS jobs_printer_id, jobs.start_at AS jobs_start_at, jobs.end_at AS jobs_end_at, jobs.actual_end_time AS jobs_actual_end_time, jobs.status AS jobs_status, jobs.created_at AS jobs_created_at, jobs.notes AS jobs_notes, jobs.material_used AS jobs_material_used, jobs.file_path AS jobs_file_path, jobs.owner_id AS jobs_owner_id, jobs.duration_minutes AS jobs_duration_minutes
FROM jobs]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-06-15 23:35:16 - [__main__] __main__ - [ERROR] ERROR - Debug-Fehler: (sqlite3.OperationalError) no such table: jobs
[SQL: SELECT jobs.id AS jobs_id, jobs.name AS jobs_name, jobs.description AS jobs_description, jobs.user_id AS jobs_user_id, jobs.printer_id AS jobs_printer_id, jobs.start_at AS jobs_start_at, jobs.end_at AS jobs_end_at, jobs.actual_end_time AS jobs_actual_end_time, jobs.status AS jobs_status, jobs.created_at AS jobs_created_at, jobs.notes AS jobs_notes, jobs.material_used AS jobs_material_used, jobs.file_path AS jobs_file_path, jobs.owner_id AS jobs_owner_id, jobs.duration_minutes AS jobs_duration_minutes
FROM jobs]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
self.dialect.do_execute(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: jobs
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/debug_job_delete.py", line 28, in debug_job_delete
jobs = db_session.query(Job).all()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2693, in all
return self._iter().all() # type: ignore
^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 2847, in _iter
result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2308, in execute
return self._execute_internal(
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2190, in _execute_internal
result: Result[Any] = compile_state_cls.orm_execute_statement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/context.py", line 293, in orm_execute_statement
result = conn.execute(
^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1639, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1848, in _execute_context
return self._exec_single_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1988, in _exec_single_context
self._handle_dbapi_exception(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2343, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1969, in _exec_single_context
self.dialect.do_execute(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: jobs
[SQL: SELECT jobs.id AS jobs_id, jobs.name AS jobs_name, jobs.description AS jobs_description, jobs.user_id AS jobs_user_id, jobs.printer_id AS jobs_printer_id, jobs.start_at AS jobs_start_at, jobs.end_at AS jobs_end_at, jobs.actual_end_time AS jobs_actual_end_time, jobs.status AS jobs_status, jobs.created_at AS jobs_created_at, jobs.notes AS jobs_notes, jobs.material_used AS jobs_material_used, jobs.file_path AS jobs_file_path, jobs.owner_id AS jobs_owner_id, jobs.duration_minutes AS jobs_duration_minutes
FROM jobs]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-06-15 23:36:17 - [__main__] __main__ - [ERROR] ERROR - Fehler bei Datenbank-Initialisierung: property 'is_admin' of 'User' object has no setter
Traceback (most recent call last):
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/init_db_complete.py", line 35, in init_complete_database
admin_user = User(
^^^^^
File "<string>", line 4, in __init__
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/state.py", line 566, in _initialize_instance
with util.safe_reraise():
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/state.py", line 564, in _initialize_instance
manager.original_init(*mixed[1:], **kwargs)
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/decl_base.py", line 2145, in _declarative_constructor
setattr(self, k, kwargs[k])
AttributeError: property 'is_admin' of 'User' object has no setter
2025-06-15 23:36:40 - [__main__] __main__ - [ERROR] ERROR - Fehler bei Datenbank-Initialisierung: (sqlite3.IntegrityError) NOT NULL constraint failed: users.name
[SQL: INSERT INTO users (email, username, password_hash, name, role, active, created_at, last_login, updated_at, settings, last_activity, department, position, phone, bio, theme_preference, language_preference, email_notifications, browser_notifications, dashboard_layout, compact_mode, show_completed_jobs, auto_refresh_interval, auto_logout_timeout) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id]
[parameters: ('admin@mercedes-benz.com', 'admin', '$2b$12$kz9i15Q99ofs8iO0Fd3lkel9wNrZ0jZLFA0G1a2Rgn.EjI.CNOrQ2', None, 'admin', 1, '2025-06-15 23:36:40.714430', None, '2025-06-15 23:36:40.714435', None, '2025-06-15 23:36:40.714436', None, None, None, None, 'auto', 'de', 1, 1, 'default', 0, 1, 30, 0)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
Traceback (most recent call last):
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2112, in _exec_insertmany_context
dialect.do_execute(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlite3.IntegrityError: NOT NULL constraint failed: users.name
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/cbin/C0S1-cernel/C02L2/Dateiverwaltung/nextcloud/core/files/3_Beruf_Ausbildung_und_Schule/IHK-Abschlussprüfung/Projektarbeit-MYP/backend/init_db_complete.py", line 54, in init_complete_database
db_session.commit()
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1969, in commit
trans.commit(_to_root=True)
File "<string>", line 2, in commit
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
ret_value = fn(self, *arg, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1256, in commit
self._prepare_impl()
File "<string>", line 2, in _prepare_impl
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/state_changes.py", line 139, in _go
ret_value = fn(self, *arg, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1231, in _prepare_impl
self.session.flush()
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4312, in flush
self._flush(objects)
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4447, in _flush
with util.safe_reraise():
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 4408, in _flush
flush_context.execute()
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 466, in execute
rec.execute(self)
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/unitofwork.py", line 642, in execute
util.preloaded.orm_persistence.save_obj(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 93, in save_obj
_emit_insert_statements(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/orm/persistence.py", line 1136, in _emit_insert_statements
result = connection.execute(
^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1416, in execute
return meth(
^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 516, in _execute_on_connection
return connection._execute_clauseelement(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1639, in _execute_clauseelement
ret = self._execute_context(
^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1843, in _execute_context
return self._exec_insertmany_context(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2120, in _exec_insertmany_context
self._handle_dbapi_exception(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2343, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2112, in _exec_insertmany_context
dialect.do_execute(
File "/home/core/.local/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 922, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL constraint failed: users.name
[SQL: INSERT INTO users (email, username, password_hash, name, role, active, created_at, last_login, updated_at, settings, last_activity, department, position, phone, bio, theme_preference, language_preference, email_notifications, browser_notifications, dashboard_layout, compact_mode, show_completed_jobs, auto_refresh_interval, auto_logout_timeout) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) RETURNING id]
[parameters: ('admin@mercedes-benz.com', 'admin', '$2b$12$kz9i15Q99ofs8iO0Fd3lkel9wNrZ0jZLFA0G1a2Rgn.EjI.CNOrQ2', None, 'admin', 1, '2025-06-15 23:36:40.714430', None, '2025-06-15 23:36:40.714435', None, '2025-06-15 23:36:40.714436', None, None, None, None, 'auto', 'de', 1, 1, 'default', 0, 1, 30, 0)]
(Background on this error at: https://sqlalche.me/e/20/gkpj)