Update model synchronization in sequelize.js to prevent automatic foreign key creation by adding constraints: false, ensuring foreign keys are managed through migrations only.

This commit is contained in:
Torsten Schulz (local)
2025-12-18 16:14:53 +01:00
parent c8072b8052
commit bf0eed3b03

View File

@@ -105,7 +105,8 @@ const syncModelsWithUpdates = async (models) => {
if (needsUpdate) { if (needsUpdate) {
console.log('🔄 Schema-Updates nötig - verwende alter: true'); console.log('🔄 Schema-Updates nötig - verwende alter: true');
for (const model of Object.values(models)) { for (const model of Object.values(models)) {
await model.sync({ alter: true, force: false }); // constraints: false verhindert, dass Sequelize Foreign Keys automatisch erstellt
await model.sync({ alter: true, force: false, constraints: false });
} }
console.log('✅ Schema-Updates abgeschlossen'); console.log('✅ Schema-Updates abgeschlossen');
} else { } else {
@@ -373,7 +374,8 @@ const getExpectedDefaultValue = (defaultValue) => {
const updateSchema = async (models) => { const updateSchema = async (models) => {
console.log('🔄 Aktualisiere Datenbankschema...'); console.log('🔄 Aktualisiere Datenbankschema...');
for (const model of Object.values(models)) { for (const model of Object.values(models)) {
await model.sync({ alter: true, force: false }); // constraints: false verhindert, dass Sequelize Foreign Keys automatisch erstellt
await model.sync({ alter: true, force: false, constraints: false });
} }
console.log('✅ Datenbankschema aktualisiert'); console.log('✅ Datenbankschema aktualisiert');
}; };
@@ -474,7 +476,9 @@ const syncModelsAlways = async (models) => {
} }
try { try {
await model.sync({ alter: true, force: false }); // constraints: false verhindert, dass Sequelize Foreign Keys automatisch erstellt
// Foreign Keys sollten nur über Migrations verwaltet werden
await model.sync({ alter: true, force: false, constraints: false });
} finally { } finally {
// Restore VIRTUAL fields after sync // Restore VIRTUAL fields after sync
for (const [key, attr] of Object.entries(virtualFields)) { for (const [key, attr] of Object.entries(virtualFields)) {