diff --git a/backend/utils/syncDatabase.js b/backend/utils/syncDatabase.js index 26c7c8f..32ed033 100644 --- a/backend/utils/syncDatabase.js +++ b/backend/utils/syncDatabase.js @@ -136,7 +136,23 @@ const syncDatabase = async () => { console.log(`✅ ${deletedCount6} verwaiste user_house Einträge entfernt`); } - if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0 && deletedCount6 === 0) { + // Cleanup child_relation mit ungültigen father_character_id, mother_character_id oder child_character_id + const result7 = await sequelize.query(` + DELETE FROM falukant_data.child_relation + WHERE father_character_id NOT IN ( + SELECT id FROM falukant_data.character + ) OR mother_character_id NOT IN ( + SELECT id FROM falukant_data.character + ) OR child_character_id NOT IN ( + SELECT id FROM falukant_data.character + ); + `); + const deletedCount7 = result7[1] || 0; + if (deletedCount7 > 0) { + console.log(`✅ ${deletedCount7} verwaiste child_relation Einträge entfernt`); + } + + if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0 && deletedCount6 === 0 && deletedCount7 === 0) { console.log("✅ Keine verwaisten Einträge gefunden"); } } catch (e) { @@ -343,7 +359,23 @@ const syncDatabaseForDeployment = async () => { console.log(`✅ ${deletedCount6} verwaiste user_house Einträge entfernt`); } - if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0 && deletedCount6 === 0) { + // Cleanup child_relation mit ungültigen father_character_id, mother_character_id oder child_character_id + const result7 = await sequelize.query(` + DELETE FROM falukant_data.child_relation + WHERE father_character_id NOT IN ( + SELECT id FROM falukant_data.character + ) OR mother_character_id NOT IN ( + SELECT id FROM falukant_data.character + ) OR child_character_id NOT IN ( + SELECT id FROM falukant_data.character + ); + `); + const deletedCount7 = result7[1] || 0; + if (deletedCount7 > 0) { + console.log(`✅ ${deletedCount7} verwaiste child_relation Einträge entfernt`); + } + + if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0 && deletedCount6 === 0 && deletedCount7 === 0) { console.log("✅ Keine verwaisten Einträge gefunden"); } } catch (e) {