NEWS
Zurücksetzen einzelner Datenpunkte im SQL-Adapter
-
Hallo zusammen,
erstmal danke für das Skript, so etwas habe ich gesucht!
Leider erhalte ich aber beim ausführen des Skripts die Fehler
javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5)
javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')
Hat jemand eine Idee, woran das liegen könnte?
-
@thof69
Hast du auch die neueste Version des Scriptes genommen, also die hier:
https://forum.iobroker.net/post/940051Poste mal dein verwendetes Script in Code Tags, insbesondere den Anfang, wo ggfs. die Variablen angepasst werden müssen.
-
Hallo @Gaspode,
Hast du auch die neueste Version des Scriptes genommen, also die hier:
https://forum.iobroker.net/post/940051Ja, das ist die Version, die ich genommen habe.
Poste mal dein verwendetes Script in Code Tags, insbesondere den Anfang, wo ggfs. die Variablen angepasst werden müssen.
// SQL_Delete_Dead_Objects // V0.5 // // Changelog: // ---------- // 10.08.2019 V0.1 Scrounger erste Version welche nicht mehr existierende Datenpunkte anzeigt https://forum.iobroker.net/post/289821 // 03.05.2022 V0.2 andi2055 erweitert das die Daten auch aus der Datenbank gelöscht werden https://forum.iobroker.net/post/798291 // 01.02.2023 V0.3 BananaJoe umgestellt das nun Datenpunkte ohne SQL-Protokollierung gefunden werden https://forum.iobroker.net/post/939101 // 02.02.2023 V0.4 BananaJoe SQL-Instanz Konfigurierbar / Datenbankname konfigurierbar // 03.02.2023 V0.5 Gaspode Speicherverbrauch beim Zählen optimiert durch Verwendung von count(*) // 03.02.2023 V0.5 Gaspode Wenn für einen Datenpunkt ein Alias vergeben ist, wird das // anstelle des Datenpunktnamens verwendet. // 03.02.2023 V0.5 Gaspode Am Ende eines Trockenlaufs werden SQL Befehle zum manuellen Löschen // ausgegeben. // Einstellungen: // Hier das löschen einschalten! false = nur anzeigen / true = anzeigen und wirklich löschen const activate_delete = false; // Name der SQL-Instanz, normalerweiser sql.0 const sql_instance = 'sql.0'; // Name der SQL-Datenbank - Groß und Kleinschreibung beachten! const sql_dbname = 'iobroker'; // Ersatzfunktion, weil sendToAsync im Scripting-Adapter derzeit (6.1.4) buggy ist: async function mySendToAsync(_adapter, cmd, msg) { return new Promise((resolve, reject) => { sendTo(_adapter, cmd, msg, res => { if (!res || res.error) { reject(res ? res.error : new Error('Unknown error')); } else { resolve(res); } }); }); } // Funktion zum Suchen und Löschen async function wartung() { try { let sqlDeleteStatements = new Array(); // Alle Datenpunkte holen bei welchen die SQL-Protokollierung aktiv ist: let datapointsActiveArray = new Array(); const result = await mySendToAsync(sql_instance, 'getEnabledDPs', {}); for (const i in result) { datapointsActiveArray.push(result[i].aliasId.length == 0 ? i : result[i].aliasId); } // alle Datenpunkte aus Db holen let datapoints = await getQueryResult(`SELECT name, id, type FROM ${sql_dbname}.datapoints`); if (datapoints) { let count = 0; let sum = 0; // Datenpunkte durchlaufen for (const datapoint of datapoints) { // prüfen ob kein Objekt in ioBroker existiert // if (!getObject(datapoint.name)) { // prüfen ob SQL-Protokollierung nicht aktiv ist if (!datapointsActiveArray.includes(datapoint.name)) { count++; // Daten des Datenpunktes in Tabelle 'ts_bool' zählen let countBool = 0; let booleanTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`); if (booleanTableItems && booleanTableItems[0].cnt > 0) { countBool = booleanTableItems[0].cnt; if (activate_delete) { sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id}`, function (result) { if (result.error) { console.error(result.error); } else { // show result console.log('Rows: ' + JSON.stringify(result.result)); } }); } else { sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_bool WHERE id = ${datapoint.id};`); } } // Daten des Datenpunktes in Tabelle 'ts_number' zählen let countNumber = 0; let numberTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`); if (numberTableItems && numberTableItems[0].cnt > 0) { countNumber = numberTableItems[0].cnt; if (activate_delete) { sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id}`, function (result) { if (result.error) { console.error(result.error); } else { // show result console.log('Rows: ' + JSON.stringify(result.result)); } }); } else { sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_number WHERE id = ${datapoint.id};`); } } // Daten des Datenpunktes in Tabelle 'ts_string' zählen let countString = 0; let stringTableItems = await getQueryResult(`SELECT count(*) as cnt FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`); if (stringTableItems && stringTableItems[0].cnt > 0) { countString = stringTableItems[0].cnt; if (activate_delete) { sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id}`, function (result) { if (result.error) { console.error(result.error); } else { // show result console.log('Rows: ' + JSON.stringify(result.result)); } }); } else { sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.ts_string WHERE id = ${datapoint.id};`); } } if (activate_delete) { sendTo(sql_instance, 'query', `DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id}`, function (result) { if (result.error) { console.error(result.error); } else { // show result console.log('Rows: ' + JSON.stringify(result.result)); } }); } else { sqlDeleteStatements.push(`DELETE FROM ${sql_dbname}.datapoints WHERE id = ${datapoint.id};`); } console.warn(`DB id: ${datapoint.id} (type: ${datapoint.type}) -> number: ${countNumber}, string: ${countString}, bool: ${countBool} | ioBroker id: '${datapoint.name}'`); sum = sum + countBool + countNumber + countString; } } console.warn(`${count} Objects found, that not exist anymore in ioBroker, sum of items in tables: ${sum.toLocaleString().replace(/,/g, ".")}`); if (!activate_delete) { console.log('Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen:'); sqlDeleteStatements.forEach(element => console.log(element)); } } } catch (err) { console.error(`[wartung] error: ${err.message}`); console.error(`[wartung] stack: ${err.stack}`); } } async function getQueryResult(query) { return new Promise((resolve, reject) => { sendTo(sql_instance, 'query', query, function (result) { if (!result.error) { resolve(result.result); } else { resolve(null); } }); }); } wartung();
Edit: sql_instance und sql_dbname passen zu meiner Installation.
-
@thof69 sagte in Zurücksetzen einzelner Datenpunkte im SQL-Adapter:
javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2023-06-24 09:00:47.962 error script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length')
Zeile 50 wäre nur eine
}
und Zeichen 58 finde ich da nicht
also muss dein echtes Skript doch irgendwie anders sein.Sicher das Datenbankname etc. stimmt? Groß und Kleinschreibung beachtet?
Das Log ist von der Weboberfläche? bzw. von unten da raus kopiert?
Schau bitte mal in das richtige Log bzw. per SSH das Log an, da stehen dann noch mehr Details. -
@thof69
Also ich werde aus der Fehlermeldung auch nicht so recht schlau. Kann es sein, dass du noch eine ziemlich alte JS-Controller bzw. des SQL Adapters Version verwendest?
Ändere mal Zeile 49 vondatapointsActiveArray.push(result[i].aliasId.length == 0 ? i : result[i].aliasId);
in
datapointsActiveArray.push(i);
-
Zeile 50 wäre nur eine
}
und Zeichen 58 finde ich da nicht
also muss dein echtes Skript doch irgendwie anders sein.Nein, hier als Screenshot aus dem Editor:
Sicher das Datenbankname etc. stimmt? Groß und Kleinschreibung beachtet?
Ja:
Schau bitte mal in das richtige Log bzw. per SSH das Log an, da stehen dann noch mehr Details.
Leider nicht:
2023-06-24 15:32:16.899 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen 2023-06-24 15:32:16.908 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2023-06-24 15:32:16.917 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length') 2023-06-24 15:32:16.918 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:58) at processTicksAndRejections (node:internal/process/task_queues:95:5) 2023-06-24 15:32:20.966 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
-
@gaspode
js-controller ist 5.04Mit der Änderung läuft er, gibt allerdings vieles als Warnung, keine Ahnung, ob das normal ist:
2023-06-24 15:35:11.602 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen 2023-06-24 15:35:11.612 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2023-06-24 15:35:11.677 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 6 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1338281.1.LEVEL' 2023-06-24 15:35:11.686 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 12 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0864598.4.VALVE_STATE' 2023-06-24 15:35:11.695 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 32 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0864261.4.VALVE_STATE' 2023-06-24 15:35:11.704 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 47 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018841.1.STATE' 2023-06-24 15:35:11.715 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 52 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018759.1.STATE' 2023-06-24 15:35:11.725 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 54 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1018756.1.STATE' 2023-06-24 15:35:11.735 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 61 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.FEQ0081691.1.STATE' 2023-06-24 15:35:11.745 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 75 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0755679.1.STATE' 2023-06-24 15:35:11.754 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 116 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1029117.1.LEVEL' 2023-06-24 15:35:11.764 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 117 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026596.1.LEVEL' 2023-06-24 15:35:11.777 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 118 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026577.1.LEVEL' 2023-06-24 15:35:11.788 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 119 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026575.1.LEVEL' 2023-06-24 15:35:11.797 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 120 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026451.1.LEVEL' 2023-06-24 15:35:11.811 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 121 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026376.1.LEVEL' 2023-06-24 15:35:11.820 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 122 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1026074.1.LEVEL' 2023-06-24 15:35:11.829 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 123 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1025539.1.LEVEL' 2023-06-24 15:35:11.837 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 131 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1338142.1.LEVEL' 2023-06-24 15:35:11.847 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 132 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1337186.1.LEVEL' 2023-06-24 15:35:11.855 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 137 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.MEQ0221301.1.STATE' 2023-06-24 15:35:11.864 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 138 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0629029.1.STATE' 2023-06-24 15:35:11.873 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 142 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ0628988.1.STATE' 2023-06-24 15:35:11.882 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 149 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1098038.1.STATE' 2023-06-24 15:35:11.891 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 164 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.LEQ1248256.1.STATE' 2023-06-24 15:35:11.900 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 175 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.LEQ1010661.0.DUTY_CYCLE' 2023-06-24 15:35:11.909 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 178 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'th.0.Sonstiges.EingangLetzteBewegung' 2023-06-24 15:35:11.918 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 181 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'javascript.2.deviceCounter.on_lights.list' 2023-06-24 15:35:11.928 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 183 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.OEQ1857754.1.LEVEL' 2023-06-24 15:35:12.440 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 194 (type: 0) -> number: 456659, string: 0, bool: 0 | ioBroker id: 'javascript.2.co2sensor.co2' 2023-06-24 15:35:12.448 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 201 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'ping.0.ioBroker-RasPi1.192_168_100_175' 2023-06-24 15:35:12.461 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 202 (type: 2) -> number: 0, string: 0, bool: 4379 | ioBroker id: 'ping.0.192_168_100_170' 2023-06-24 15:35:12.472 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 203 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rega.0.PEQ1947166.0.DUTY_CYCLE' 2023-06-24 15:35:12.480 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 209 (type: 1) -> number: 0, string: 0, bool: 0 | ioBroker id: 'roomba.0.states.status' 2023-06-24 15:35:12.488 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 210 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.QEQ0337755.1.ENERGY_COUNTER' 2023-06-24 15:35:12.496 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 211 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.0.QEQ0337755.1.POWER' 2023-06-24 15:35:12.504 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 248 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'roomba.0.states.battery' 2023-06-24 15:35:12.512 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 263 (type: 0) -> number: 1891, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Passau.cases7_per_100k' 2023-06-24 15:35:12.521 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 264 (type: 0) -> number: 1936, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern.cases7_per_100k' 2023-06-24 15:35:12.528 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 265 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Stadt.München.cases7_per_100k' 2023-06-24 15:35:12.538 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 266 (type: 0) -> number: 1818, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Stadt.Passau.cases7_per_100k' 2023-06-24 15:35:12.547 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 267 (type: 0) -> number: 1876, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Deggendorf.cases7_per_100k' 2023-06-24 15:35:12.557 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 268 (type: 0) -> number: 1752, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Freyung-Grafenau.cases7_per_100k' 2023-06-24 15:35:12.565 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 269 (type: 0) -> number: 1704, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Regen.cases7_per_100k' 2023-06-24 15:35:12.575 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 270 (type: 0) -> number: 1723, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Rottal-Inn.cases7_per_100k' 2023-06-24 15:35:12.584 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 271 (type: 0) -> number: 1838, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Kreis.Dingolfing-Landau.cases7_per_100k' 2023-06-24 15:35:12.594 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 272 (type: 0) -> number: 9025, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.0.e5.feed' 2023-06-24 15:35:12.610 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 273 (type: 0) -> number: 17085, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.1.e5.feed' 2023-06-24 15:35:12.624 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 274 (type: 0) -> number: 18012, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.2.e5.feed' 2023-06-24 15:35:12.633 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 275 (type: 2) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hue.0.Anna.on' 2023-06-24 15:35:12.642 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 276 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hue.0.Anna.level' 2023-06-24 15:35:12.651 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 278 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern._Impfungen.rkiErstimpfungenImpfquote' 2023-06-24 15:35:12.660 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 279 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern._Impfungen.rkiZweitimpfungenImpfquote' 2023-06-24 15:35:12.673 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 280 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany._Impfungen.rkiErstimpfungenImpfquote' 2023-06-24 15:35:12.683 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 281 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany._Impfungen.rkiZweitimpfungenImpfquote' 2023-06-24 15:35:12.693 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 287 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.1.00085BE9A3AC8F.7.POWER' 2023-06-24 15:35:12.702 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 289 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.Rain' 2023-06-24 15:35:12.711 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 290 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.SumRain24' 2023-06-24 15:35:12.721 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 291 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Anna.CO2.CO2' 2023-06-24 15:35:12.730 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 292 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Pergola.Temperature.Temperature' 2023-06-24 15:35:12.740 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 293 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Anna.Noise.Noise' 2023-06-24 15:35:12.748 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 294 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Regen-Garten.Rain.SumRain1' 2023-06-24 15:35:12.756 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 295 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Wohnzimmer.CO2.CO2' 2023-06-24 15:35:12.763 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 296 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Paul.CO2.CO2' 2023-06-24 15:35:12.774 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 297 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'netatmo.0.Zuhause-(Anna).Schlafzimmer.CO2.CO2' 2023-06-24 15:35:12.803 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 302 (type: 0) -> number: 11046, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.3.e5.feed' 2023-06-24 15:35:12.825 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 303 (type: 0) -> number: 8900, string: 0, bool: 0 | ioBroker id: 'tankerkoenig.0.stations.4.e5.feed' 2023-06-24 15:35:12.843 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 305 (type: 0) -> number: 7169, string: 0, bool: 0 | ioBroker id: 'coronavirus-statistics.0.Germany.Bundesland.Bayern.Hospital.faelleCovidAktuell' 2023-06-24 15:35:12.853 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 313 (type: 0) -> number: 0, string: 0, bool: 0 | ioBroker id: 'hm-rpc.1.00111D899501D6.4.LEVEL' 2023-06-24 15:35:12.866 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: DB id: 344 (type: 0) -> number: 2071, string: 0, bool: 0 | ioBroker id: 'pvforecast.0.plants.pv.power.now' 2023-06-24 15:35:12.876 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 68 Objects found, that not exist anymore in ioBroker, sum of items in tables: 548.884 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen: 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 6; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 12; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 32; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 47; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 52; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 54; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 61; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 75; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 116; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 117; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 118; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 119; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 120; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 121; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 122; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 123; 2023-06-24 15:35:12.876 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 131; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 132; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 137; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 138; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 142; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 149; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 164; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 175; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 178; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 181; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 183; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 194; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 194; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 201; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_bool WHERE id = 202; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 202; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 203; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 209; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 210; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 211; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 248; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 263; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 263; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 264; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 264; 2023-06-24 15:35:12.877 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 265; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 266; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 266; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 267; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 267; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 268; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 268; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 269; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 269; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 270; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 270; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 271; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 271; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 272; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 272; 2023-06-24 15:35:12.878 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 273; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 273; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 274; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 274; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 275; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 276; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 278; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 279; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 280; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 281; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 287; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 289; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 290; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 291; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 292; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 293; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 294; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 295; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 296; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 297; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 302; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 302; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 303; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 303; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 305; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 305; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 313; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.ts_number WHERE id = 344; 2023-06-24 15:35:12.879 - info: javascript.0 (74994) script.js.th.DB_bereinigen: DELETE FROM iobroker.datapoints WHERE id = 344; 2023-06-24 15:35:21.357 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
-
@thof69
Naja, die Warnungen sind der eigentliche Output.Kontrolliere mal ein paar, ob das plausibel erscheint.
Warum bei dir die Alias-Prüfung nicht klappt (das ist der Teil, den wir gerade geändert haben), verstehe ich allerdings nicht so richtig.
-
Super, vielen Dank!
Kann das mit der Aliasprüfung vielleicht daran liegen, dass ich keinen einzigen definiert habe?
Edit: Die Treffer sind allesamt korrekt.
-
@thof69 said in Zurücksetzen einzelner Datenpunkte im SQL-Adapter:
Kann das mit der Aliasprüfung vielleicht daran liegen, dass ich keinen einzigen definiert habe?
Gute Frage. Ich habe soweit ich weiß allerdings auch keinen einzigen Alias definiert, aber evtl. hatte ich das mal früher. Ich kann mich aber nicht mehr erinnern, ja ja, das Alter
-
Bei mir gibt es auch keine Aliase und es funktioniert.
Gibt es dennalias.0
bei dir? -
Bei mir gibt es auch keine Aliase und es funktioniert.
Gibt es dennalias.0
bei dir?Ja, den gibt es, mit nix drunter:
-
Nee, mit alias.0 hat das meines Wissens nix zu tun. Ich vermute eher, dass es daran liegt, dass es bei dir einige Datenpunkte überhaupt nicht mehr gibt, die aber noch DB Einträge haben.
In dem Fall würde wahrscheinlich folgende Zeile 49 Abhilfe schaffen:
datapointsActiveArray.push(!result[i] || result[i].aliasId.length == 0 ? i : result[i].aliasId);
(Ich kann es gerade nicht selbst testen)
-
Nee, mit alias.0 hat das meines Wissens nix zu tun. Ich vermute eher, dass es daran liegt, dass es bei dir einige Datenpunkte überhaupt nicht mehr gibt, die aber noch DB Einträge haben.
Ja, das ist definitiv der Fall.
In dem Fall würde wahrscheinlich folgende Zeile 49 Abhilfe schaffen:
datapointsActiveArray.push(!result[i] || result[i].aliasId.length == 0 ? i : result[i].aliasId);
Nein, leider nicht:
2023-06-24 16:33:21.322 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] error: Cannot read properties of undefined (reading 'length') 2023-06-24 16:33:21.323 - error: javascript.0 (74994) script.js.th.DB_bereinigen: [wartung] stack: TypeError: Cannot read properties of undefined (reading 'length') at wartung (script.js.th.DB_bereinigen:50:72) at processTicksAndRejections (node:internal/process/task_queues:95:5)
Allerdings habe ich in der Zwischenzeit auch die delete-Statements laufen lassen und die Datenbank ist sauber.
-
Dann wohl
datapointsActiveArray.push(!result[i] || !result[i].aliasId || result[i].aliasId.length == 0 ? i : result[i].aliasId);
Schade, dass du es jetzt nicht mehr testen kannst.
-
Die Variante sieht gut aus, sie gibt das gleiche Ergebnis wie "datapointsActiveArray.push(i);"
Hier der Log, erster Lauf mit "datapointsActiveArray.push(i);", zweiter mit dieser Variante:
2023-06-24 16:43:34.068 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen 2023-06-24 16:43:34.076 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2023-06-24 16:43:34.118 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 0 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0 2023-06-24 16:43:34.118 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen: 2023-06-24 16:43:38.260 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen 2023-06-24 16:43:48.196 - info: javascript.1 (75023) Stop script script.js.th.DB_bereinigen 2023-06-24 16:43:48.196 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen 2023-06-24 16:43:50.886 - info: javascript.0 (74994) Start javascript script.js.th.DB_bereinigen 2023-06-24 16:43:50.895 - info: javascript.0 (74994) script.js.th.DB_bereinigen: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2023-06-24 16:43:50.937 - warn: javascript.0 (74994) script.js.th.DB_bereinigen: 0 Objects found, that not exist anymore in ioBroker, sum of items in tables: 0 2023-06-24 16:43:50.937 - info: javascript.0 (74994) script.js.th.DB_bereinigen: Löschen war bei diesem Durchlauf nicht aktiviert. Du kannst die Daten mit den folgenden Kommandos manuell in SQL löschen: 2023-06-24 16:43:56.750 - info: javascript.0 (74994) Stop script script.js.th.DB_bereinigen
Sorry, hätte ich gewusst, dass ich noch testen soll, hätte ich die deletes noch nicht laufen lassen.
-
@thof69 said in Zurücksetzen einzelner Datenpunkte im SQL-Adapter:
Sorry, hätte ich gewusst, dass ich noch testen soll, hätte ich die deletes noch nicht laufen lassen
Kein Problem.
Ich bau mir das Problem bei Gelegenheit mal nach.