From b7e4740c29ba147ea8c39fe8021be762d9c4c593 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Mon, 13 Oct 2025 16:22:30 +0200 Subject: [PATCH 1/3] HCK-13030: ignore generating FK/UK if no columns --- .../ddlHelpers/constraintsHelper.js | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js b/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js index a370b6e..d8d2207 100644 --- a/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js +++ b/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js @@ -69,8 +69,14 @@ const foreignActiveKeysToString = keys => { * }} * */ const createKeyConstraint = (templates, isParentActivated) => keyData => { - const constraintName = wrapInQuotes(_.trim(keyData.name)); + if (_.isEmpty(keyData.columns)) { + return { + statement: '', + isActivated: false, + }; + } const isAllColumnsDeactivated = checkAllKeysDeactivated(keyData.columns || []); + const constraintName = wrapInQuotes(_.trim(keyData.name)); const columns = !_.isEmpty(keyData.columns) ? getColumnsList(keyData.columns, isAllColumnsDeactivated, isParentActivated) : ''; @@ -149,10 +155,12 @@ const createInlineCheckConstraint = checkConstraint => { const alterKeyConstraint = (tableName, isParentActivated, keyData) => { const constraintStatementDto = createKeyConstraint(templates, isParentActivated)(keyData); return { - statement: assignTemplates(templates.addPkConstraint, { - constraintStatement: (constraintStatementDto.statement || '').trim(), - tableName, - }), + statement: constraintStatementDto.statement + ? assignTemplates(templates.addPkConstraint, { + constraintStatement: constraintStatementDto.statement.trim(), + tableName, + }) + : '', isActivated: constraintStatementDto.isActivated, }; }; From 42c81c12c7dcc0b8695d729c3c5c5a5a9738e698 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Mon, 13 Oct 2025 16:24:58 +0200 Subject: [PATCH 2/3] line position --- forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js b/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js index d8d2207..af44e1c 100644 --- a/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js +++ b/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js @@ -75,8 +75,8 @@ const createKeyConstraint = (templates, isParentActivated) => keyData => { isActivated: false, }; } - const isAllColumnsDeactivated = checkAllKeysDeactivated(keyData.columns || []); const constraintName = wrapInQuotes(_.trim(keyData.name)); + const isAllColumnsDeactivated = checkAllKeysDeactivated(keyData.columns || []); const columns = !_.isEmpty(keyData.columns) ? getColumnsList(keyData.columns, isAllColumnsDeactivated, isParentActivated) : ''; From 69b32550032c90fe849e98fc11479e639808dd44 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Mon, 13 Oct 2025 17:47:53 +0200 Subject: [PATCH 3/3] fix explicitly in PK/UK --- .../entityHelpers/primaryKeyHelper.js | 5 ++++- .../entityHelpers/uniqueKeyHelper.js | 5 ++++- .../ddlProvider/ddlHelpers/constraintsHelper.js | 16 ++++------------ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js index 8618093..78006c2 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js @@ -259,10 +259,13 @@ const getAddCompositePkScriptDtos = collection => { return newPrimaryKeys .map(newPk => { const ddlConfig = getCreateCompositePKDDLProviderConfig(newPk, entityName, collection); + if (_.isEmpty(ddlConfig.columns)) { + return null; + } const statementDto = alterKeyConstraint(fullTableName, isCollectionActivated, ddlConfig); return new KeyScriptModificationDto(statementDto.statement, fullTableName, false, statementDto.isActivated); }) - .filter(scriptDto => Boolean(scriptDto.script)); + .filter(scriptDto => Boolean(scriptDto?.script)); }; /** diff --git a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js index 058baaa..a30f680 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js @@ -277,10 +277,13 @@ const getAddCompositeUniqueKeyScriptDtos = (collection, dbVersion) => { collection, dbVersion, ); + if (_.isEmpty(ddlConfig.columns)) { + return null; + } const statementDto = alterKeyConstraint(fullTableName, isCollectionActivated, ddlConfig); return new KeyScriptModificationDto(statementDto.statement, fullTableName, false, statementDto.isActivated); }) - .filter(scriptDto => Boolean(scriptDto.script)); + .filter(scriptDto => Boolean(scriptDto?.script)); }; /** diff --git a/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js b/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js index af44e1c..5cf2c93 100644 --- a/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js +++ b/forward_engineering/ddlProvider/ddlHelpers/constraintsHelper.js @@ -69,12 +69,6 @@ const foreignActiveKeysToString = keys => { * }} * */ const createKeyConstraint = (templates, isParentActivated) => keyData => { - if (_.isEmpty(keyData.columns)) { - return { - statement: '', - isActivated: false, - }; - } const constraintName = wrapInQuotes(_.trim(keyData.name)); const isAllColumnsDeactivated = checkAllKeysDeactivated(keyData.columns || []); const columns = !_.isEmpty(keyData.columns) @@ -155,12 +149,10 @@ const createInlineCheckConstraint = checkConstraint => { const alterKeyConstraint = (tableName, isParentActivated, keyData) => { const constraintStatementDto = createKeyConstraint(templates, isParentActivated)(keyData); return { - statement: constraintStatementDto.statement - ? assignTemplates(templates.addPkConstraint, { - constraintStatement: constraintStatementDto.statement.trim(), - tableName, - }) - : '', + statement: assignTemplates(templates.addPkConstraint, { + constraintStatement: constraintStatementDto.statement.trim(), + tableName, + }), isActivated: constraintStatementDto.isActivated, }; };