From 657a51b833c27f9beac8ca2f2ab1ff6256664cfe Mon Sep 17 00:00:00 2001 From: chulanovskyi Date: Fri, 10 Jul 2026 16:21:42 +0300 Subject: [PATCH 1/2] fix: respect script generation options for quoted/non-quoted identifiers of check constraints --- .../entityHelpers/checkConstraintHelper.js | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js index 19b7f63..6beafae 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js @@ -1,7 +1,11 @@ const _ = require('lodash'); const { AlterCollectionDto } = require('../../types/AlterCollectionDto'); const { AlterScriptDto, SCRIPT_TYPE } = require('../../types/AlterScriptDto'); -const { wrapInQuotes, getSchemaOfAlterCollection, getFullCollectionName } = require('../../../utils/general'); +const { + getSchemaOfAlterCollection, + getFullCollectionName, + prepareNameForScriptFormat, +} = require('../../../utils/general'); const { assignTemplates } = require('../../../utils/assignTemplates'); const templates = require('../../../ddlProvider/templates'); @@ -32,10 +36,12 @@ const dropConstraint = (tableName, constraintName) => { }; /** - * @param {AlterCollectionDto} collection + * @param {object} params + * @param {AlterCollectionDto} params.collection + * @param {string} params.scriptFormat * @return {Array} * */ -const mapCheckConstraintNamesToChangeHistory = collection => { +const mapCheckConstraintNamesToChangeHistory = ({ collection, scriptFormat }) => { const checkConstraintHistory = collection?.compMod?.chkConstr; if (!checkConstraintHistory) { return []; @@ -47,7 +53,9 @@ const mapCheckConstraintNamesToChangeHistory = collection => { .uniq() .value(); - return constrNames.map(chkConstrName => { + return constrNames.map(rawChkConstrName => { + const chkConstrName = prepareNameForScriptFormat(scriptFormat)(rawChkConstrName); + return { old: _.find(oldConstraints, { chkConstrName }), new: _.find(newConstraints, { chkConstrName }), @@ -64,8 +72,7 @@ const getDropCheckConstraintScriptDtos = (constraintHistory, fullTableName) => { return constraintHistory .filter(historyEntry => historyEntry.old && !historyEntry.new) .map(historyEntry => { - const wrappedConstraintName = wrapInQuotes(historyEntry.old.chkConstrName); - const script = dropConstraint(fullTableName, wrappedConstraintName); + const script = dropConstraint(fullTableName, historyEntry.old.chkConstrName); return AlterScriptDto.getInstance(script, true, true, SCRIPT_TYPE.alterEntity); }); }; @@ -99,7 +106,7 @@ const getAddCheckConstraintScriptDtos = (constraintHistory, fullTableName) => { .filter(historyEntry => historyEntry.new && !historyEntry.old) .map(historyEntry => { const { chkConstrName, constrExpression } = historyEntry.new; - const script = addCheckConstraint(fullTableName, wrapInQuotes(chkConstrName), constrExpression); + const script = addCheckConstraint(fullTableName, chkConstrName, constrExpression); return AlterScriptDto.getInstance(script, true, false, SCRIPT_TYPE.alterEntity); }); }; @@ -121,14 +128,10 @@ const getUpdateCheckConstraintScriptDtos = (constraintHistory, fullTableName) => }) .flatMap(historyEntry => { const { chkConstrName: oldConstrainName } = historyEntry.old; - const dropConstraintScript = dropConstraint(fullTableName, wrapInQuotes(oldConstrainName)); + const dropConstraintScript = dropConstraint(fullTableName, oldConstrainName); const { chkConstrName: newConstrainName, constrExpression: newConstraintExpression } = historyEntry.new; - const addConstraintScript = addCheckConstraint( - fullTableName, - wrapInQuotes(newConstrainName), - newConstraintExpression, - ); + const addConstraintScript = addCheckConstraint(fullTableName, newConstrainName, newConstraintExpression); return [ AlterScriptDto.getInstance(dropConstraintScript, true, true, SCRIPT_TYPE.alterEntity), @@ -138,20 +141,21 @@ const getUpdateCheckConstraintScriptDtos = (constraintHistory, fullTableName) => }; /** - * @param {{ scriptFormat: string }} + * @param {object} params + * @param {string} params.scriptFormat * @return {(collection: AlterCollectionDto) => Array} * */ const getModifyCheckConstraintScriptDtos = ({ scriptFormat }) => collection => { const collectionSchema = getSchemaOfAlterCollection(collection); - const fullName = getFullCollectionName(scriptFormat)(collectionSchema); + const fullTableName = getFullCollectionName(scriptFormat)(collectionSchema); - const constraintHistory = mapCheckConstraintNamesToChangeHistory(collection); + const constraintHistory = mapCheckConstraintNamesToChangeHistory({ collection, scriptFormat }); - const addCheckConstraintScripts = getAddCheckConstraintScriptDtos(constraintHistory, fullName); - const dropCheckConstraintScripts = getDropCheckConstraintScriptDtos(constraintHistory, fullName); - const updateCheckConstraintScripts = getUpdateCheckConstraintScriptDtos(constraintHistory, fullName); + const addCheckConstraintScripts = getAddCheckConstraintScriptDtos(constraintHistory, fullTableName); + const dropCheckConstraintScripts = getDropCheckConstraintScriptDtos(constraintHistory, fullTableName); + const updateCheckConstraintScripts = getUpdateCheckConstraintScriptDtos(constraintHistory, fullTableName); return [...addCheckConstraintScripts, ...dropCheckConstraintScripts, ...updateCheckConstraintScripts]; }; From de702419caeb5f270dd9a9c12f880d043815f011 Mon Sep 17 00:00:00 2001 From: chulanovskyi Date: Fri, 10 Jul 2026 16:33:50 +0300 Subject: [PATCH 2/2] fix: properly update constraint name --- .../entityHelpers/checkConstraintHelper.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js index 6beafae..3cc9591 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/checkConstraintHelper.js @@ -46,8 +46,10 @@ const mapCheckConstraintNamesToChangeHistory = ({ collection, scriptFormat }) => if (!checkConstraintHistory) { return []; } + const newConstraints = checkConstraintHistory.new || []; const oldConstraints = checkConstraintHistory.old || []; + const constrNames = _.chain([...newConstraints, ...oldConstraints]) .map(constr => constr.chkConstrName) .uniq() @@ -56,9 +58,11 @@ const mapCheckConstraintNamesToChangeHistory = ({ collection, scriptFormat }) => return constrNames.map(rawChkConstrName => { const chkConstrName = prepareNameForScriptFormat(scriptFormat)(rawChkConstrName); + const updateName = constraint => (constraint ? { ...constraint, chkConstrName } : undefined); + return { - old: _.find(oldConstraints, { chkConstrName }), - new: _.find(newConstraints, { chkConstrName }), + old: updateName(_.find(oldConstraints, { chkConstrName: rawChkConstrName })), + new: updateName(_.find(newConstraints, { chkConstrName: rawChkConstrName })), }; }); };