diff --git a/backend/utils/syncDatabase.js b/backend/utils/syncDatabase.js index e9f5ff8..c5a3d5a 100644 --- a/backend/utils/syncDatabase.js +++ b/backend/utils/syncDatabase.js @@ -82,23 +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`); + } - if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0) { - console.log("✅ Keine verwaisten Einträge gefunden"); - } + // 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"); + } } catch (e) { console.warn('⚠️ Konnte verwaiste Einträge nicht bereinigen:', e?.message || e); } @@ -263,7 +275,19 @@ const syncDatabaseForDeployment = async () => { console.log(`✅ ${deletedCount3} verwaiste knowledge Einträge entfernt`); } - if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0) { + // 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"); } } catch (e) {