diff --git a/lib/TableDefinition.js b/lib/TableDefinition.js index cd77e80..965018d 100644 --- a/lib/TableDefinition.js +++ b/lib/TableDefinition.js @@ -212,7 +212,7 @@ class TableDefinition { const operations = []; const oldForeignKeys = oldSchema.foreignKeys; const newForeignKeys = this._schema.foreignKeys; - var mustAddBackKey = false; + const keysToAddBack = new Set(); var columnNames; for (columnNames in oldForeignKeys) { @@ -222,7 +222,7 @@ class TableDefinition { if (!mustAvoidforeignKeyConflict(columnNamesArray, otherOperations)) { continue; } - mustAddBackKey = true; + keysToAddBack.add(columnNames); } const keyName = this._createKeyName(KEY_TYPES.FOREIGN, columnNamesArray); @@ -234,7 +234,7 @@ class TableDefinition { for (columnNames in newForeignKeys) { const newForeignKeyData = newForeignKeys[columnNames]; - if (!mustAddBackKey && isEqual(newForeignKeyData, oldForeignKeys[columnNames])) { + if (!keysToAddBack.has(columnNames) && isEqual(newForeignKeyData, oldForeignKeys[columnNames])) { continue; } const keySQL = this._generateForeignKeySQL(columnNames, newForeignKeyData);