Refactor user_house model to remove default values for houseTypeId and userId fields, and enhance syncDatabase function to include cleanup for orphaned user_house entries with invalid house_type_id or user_id references, improving data integrity and logging.
This commit is contained in:
@@ -26,13 +26,11 @@ UserHouse.init({
|
|||||||
},
|
},
|
||||||
houseTypeId: {
|
houseTypeId: {
|
||||||
type: DataTypes.INTEGER,
|
type: DataTypes.INTEGER,
|
||||||
allowNull: false,
|
allowNull: false
|
||||||
defaultValue: 1
|
|
||||||
},
|
},
|
||||||
userId: {
|
userId: {
|
||||||
type: DataTypes.INTEGER,
|
type: DataTypes.INTEGER,
|
||||||
allowNull: false,
|
allowNull: false
|
||||||
defaultValue: 1
|
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
sequelize,
|
sequelize,
|
||||||
|
|||||||
@@ -122,7 +122,21 @@ const syncDatabase = async () => {
|
|||||||
console.log(`✅ ${deletedCount5} verwaiste promotional_gift Einträge entfernt`);
|
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");
|
console.log("✅ Keine verwaisten Einträge gefunden");
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -315,7 +329,21 @@ const syncDatabaseForDeployment = async () => {
|
|||||||
console.log(`✅ ${deletedCount5} verwaiste promotional_gift Einträge entfernt`);
|
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");
|
console.log("✅ Keine verwaisten Einträge gefunden");
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user