diff --git a/backend/models/falukant/data/user_house.js b/backend/models/falukant/data/user_house.js index f9b9ff5..ad51590 100644 --- a/backend/models/falukant/data/user_house.js +++ b/backend/models/falukant/data/user_house.js @@ -26,13 +26,11 @@ UserHouse.init({ }, houseTypeId: { type: DataTypes.INTEGER, - allowNull: false, - defaultValue: 1 + allowNull: false }, userId: { type: DataTypes.INTEGER, - allowNull: false, - defaultValue: 1 + allowNull: false } }, { sequelize, diff --git a/backend/utils/syncDatabase.js b/backend/utils/syncDatabase.js index 38772e4..26c7c8f 100644 --- a/backend/utils/syncDatabase.js +++ b/backend/utils/syncDatabase.js @@ -122,7 +122,21 @@ const syncDatabase = async () => { console.log(`✅ ${deletedCount5} verwaiste promotional_gift Einträge entfernt`); } - if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0) { + // Cleanup user_house mit ungültigen house_type_id oder user_id + const result6 = await sequelize.query(` + DELETE FROM falukant_data.user_house + WHERE house_type_id NOT IN ( + SELECT id FROM falukant_type.house + ) OR user_id NOT IN ( + SELECT id FROM falukant_data.falukant_user + ); + `); + const deletedCount6 = result6[1] || 0; + if (deletedCount6 > 0) { + console.log(`✅ ${deletedCount6} verwaiste user_house Einträge entfernt`); + } + + if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0 && deletedCount6 === 0) { console.log("✅ Keine verwaisten Einträge gefunden"); } } catch (e) { @@ -315,7 +329,21 @@ const syncDatabaseForDeployment = async () => { console.log(`✅ ${deletedCount5} verwaiste promotional_gift Einträge entfernt`); } - if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0) { + // Cleanup user_house mit ungültigen house_type_id oder user_id + const result6 = await sequelize.query(` + DELETE FROM falukant_data.user_house + WHERE house_type_id NOT IN ( + SELECT id FROM falukant_type.house + ) OR user_id NOT IN ( + SELECT id FROM falukant_data.falukant_user + ); + `); + const deletedCount6 = result6[1] || 0; + if (deletedCount6 > 0) { + console.log(`✅ ${deletedCount6} verwaiste user_house Einträge entfernt`); + } + + if (deletedCount1 === 0 && deletedCount2 === 0 && deletedCount3 === 0 && deletedCount4 === 0 && deletedCount5 === 0 && deletedCount6 === 0) { console.log("✅ Keine verwaisten Einträge gefunden"); } } catch (e) {