-- ===================================================================== -- Datenkorrektur Produktionsdatenbank — 17.08.2026 -- Auf Anweisung von Eddy. DB `dolibarr` im Container 91-Firma-MariaDB (Unraid). -- -- AUSFÜHREN — der dokumentierte Weg (KB #839). NICHT `mariadb -h 192.168.155.1`: -- das ist die Docker-interne Adresse des Containers und von außen nicht erreichbar. -- -- ssh -i ~/.ssh/unraid root@192.168.155.1 \ -- 'docker exec -i -e MYSQL_PWD=8715 91-Firma-MariaDB mariadb -u dolibarr dolibarr --table' \ -- < doc/datenkorrekturen/2026-08-17_dhcpcheck_status.sql -- -- Lesend prüfen geht ohne Nachfrage über /home/data/.claude/bin/prod-db-read.sh. -- Schreibzugriffe bleiben per Konstruktion zustimmungspflichtig — so steht es im -- Kopf ebendieses Skripts. -- -- ACHTUNG: Diese Datei liegt bewusst NICHT unter sql/. Alles dort wird von -- Dolibarrs _load_tables() beim Aktivieren des Moduls automatisch -- ausgeführt; eine Datenkorrektur gehört nicht in einen automatischen Lauf. -- Hier steht sie zur Nachvollziehbarkeit und für den Rückweg. -- ===================================================================== -- -- WARUM -- -- Das Werkzeug `dhcpcheck` gibt es nicht mehr. Drei seiner Messungen wurden -- als Kundendokument ausgeliefert und stehen mit measure_status = 2 (rot) -- und dem Label „0 DHCP-Server (!)" in der Datenbank. Das Ergebnis dazu ist -- {"count":0,"server":[],"hinweis":""}. -- -- Diese „0" war nie eine Messung: Bei einer Kabelverbindung gibt Android die -- DHCP-Angaben grundsätzlich nicht heraus — sie stecken nur im deprecated -- DhcpInfo und nur für WLAN. „0 gefunden" war der Rückgabewert für „nicht -- ermittelbar". Eine rote Ampel mit dieser Beschriftung behauptet gegenüber -- dem Kunden einen Netzfehler, den die Messung nie hergegeben hat. -- -- Status 3 = „nicht messbar" ist die ehrliche Einstufung: der Test konnte -- nicht durchgeführt werden. Weder grün (wäre gelogen) noch rot (wäre eine -- Aussage über das Kundennetz). -- -- WAS NICHT ANGEFASST WIRD -- -- Die Spalte `result` bleibt unverändert. Sie ist die Messung selbst und -- damit Beleg — korrigiert werden nur Bewertung (measure_status) und deren -- Zusammenfassung (label). Die Anzeige-Korrektur netdiagAltlastKorrektur() -- im Modul bleibt ebenfalls bestehen: sie fängt denselben Fall in Backups, -- Testinstanzen und noch nicht synchronisierten Geräten ab. -- -- ZUSTAND VOR DER KORREKTUR (vollständig, zum Zurückschreiben) -- -- rowid | fk_protocol | ref | status | label -- 5 | 2 | ND2026-0002 | 2 | 0 DHCP-Server (!) -- 7 | 1 | ND2026-0001 | 2 | 0 DHCP-Server (!) -- 10 | 12 | ND2026-0012 | 2 | 0 DHCP-Server (!) -- -- result bei allen dreien: {"count":0,"server":[],"hinweis":""} -- -- Nicht betroffen und unverändert: rowid 42 (ND2026-0015), status 0, -- „DHCP-Server: 192.168.153.1" — eine echte Messung mit echtem Ergebnis. -- ===================================================================== -- KORREKTUR — AUSGEFÜHRT am 17.08.2026, 3 Zeilen geändert, danach verifiziert: -- rowid 5, 7, 10 -> measure_status 3, Label „DHCP-Server nicht ermittelbar" -- rowid 42 unverändert (echte Messung), `result` bei allen unangetastet -- Die WHERE-Bedingung trifft ausschließlich Messungen des entfernten -- Werkzeugs ohne jedes Ergebnis. Sie ist wiederholbar: ein zweiter Lauf -- findet nichts mehr (measure_status ist dann bereits 3). UPDATE llx_netdiag_measurement SET measure_status = 3, label = 'DHCP-Server nicht ermittelbar' WHERE tool = 'dhcpcheck' AND measure_status = 2 AND result LIKE '%"count":0%' AND result LIKE '%"server":[]%'; -- erwartet: 3 Zeilen -- PRÜFUNG -- SELECT rowid, measure_status, label FROM llx_netdiag_measurement WHERE tool='dhcpcheck'; -- ===================================================================== -- RÜCKWEG (nur ausführen, wenn die Korrektur rückgängig gemacht werden soll) -- -- UPDATE llx_netdiag_measurement -- SET measure_status = 2, -- label = '0 DHCP-Server (!)' -- WHERE rowid IN (5, 7, 10); -- =====================================================================