From 31c23a0c4039a1a46277175094f6281a569a7a33 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Thu, 18 Dec 2025 15:20:09 +0100 Subject: [PATCH] Refactor syncDatabase function to improve orphaned entry cleanup for knowledge and notification, ensuring data integrity and consistent logging. --- backend/utils/syncDatabase.js | 54 +++++++++++++++++------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/backend/utils/syncDatabase.js b/backend/utils/syncDatabase.js index c5a3d5a..8d3c535 100644 --- a/backend/utils/syncDatabase.js +++ b/backend/utils/syncDatabase.js @@ -82,35 +82,35 @@ const syncDatabase = async () => { console.log(`✅ ${deletedCount2} verwaiste stock Einträge entfernt`); } - // Cleanup knowledge mit ungültigen character_id oder product_id - const result3 = await sequelize.query(` - DELETE FROM falukant_data.knowledge - WHERE character_id NOT IN ( - SELECT id FROM falukant_data.character - ) OR product_id NOT IN ( - SELECT id FROM falukant_type.product - ); - `); - const deletedCount3 = result3[1] || 0; - if (deletedCount3 > 0) { - console.log(`✅ ${deletedCount3} verwaiste knowledge Einträge entfernt`); - } + // Cleanup knowledge mit ungültigen character_id oder product_id + const result3 = await sequelize.query(` + DELETE FROM falukant_data.knowledge + WHERE character_id NOT IN ( + SELECT id FROM falukant_data.character + ) OR product_id NOT IN ( + SELECT id FROM falukant_type.product + ); + `); + const deletedCount3 = result3[1] || 0; + if (deletedCount3 > 0) { + console.log(`✅ ${deletedCount3} verwaiste knowledge Einträge entfernt`); + } - // Cleanup notification mit ungültigen user_id - const result4 = await sequelize.query(` - DELETE FROM falukant_log.notification - WHERE user_id NOT IN ( - SELECT id FROM falukant_data.falukant_user - ); - `); - const deletedCount4 = result4[1] || 0; - if (deletedCount4 > 0) { - console.log(`✅ ${deletedCount4} verwaiste notification Einträge entfernt`); - } + // Cleanup notification mit ungültigen user_id + const result4 = await sequelize.query(` + DELETE FROM falukant_log.notification + WHERE user_id NOT IN ( + SELECT id FROM falukant_data.falukant_user + ); + `); + const deletedCount4 = result4[1] || 0; + if (deletedCount4 > 0) { + console.log(`✅ ${deletedCount4} verwaiste notification Einträge entfernt`); + } - if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0) { - console.log("✅ Keine verwaisten Einträge gefunden"); - } + if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0) { + console.log("✅ Keine verwaisten Einträge gefunden"); + } } catch (e) { console.warn('⚠️ Konnte verwaiste Einträge nicht bereinigen:', e?.message || e); }