From b32e499178c569fd8907ccd02caa85daa40f99db Mon Sep 17 00:00:00 2001 From: Sylvie Paindeville Date: Tue, 3 Nov 2026 12:37:47 +0100 Subject: [PATCH 1/2] HCK-18408: comment out the foreign key of a deactivated relationship Co-authored-by: Cursor --- forward_engineering/ddlProvider.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forward_engineering/ddlProvider.js b/forward_engineering/ddlProvider.js index 6196586..d07a898 100644 --- a/forward_engineering/ddlProvider.js +++ b/forward_engineering/ddlProvider.js @@ -297,7 +297,7 @@ module.exports = (baseProvider, options, app) => { return { statement: foreignKeyStatement, - isActivated: isRelationActivated, + isActivated: isRelationActivated && fkData.isActivated !== false, }; }, From 09332cc8b91fbf46036039a4cad347f47a3becb1 Mon Sep 17 00:00:00 2001 From: Sylvie Paindeville Date: Tue, 3 Nov 2026 13:19:39 +0100 Subject: [PATCH 2/2] HCK-18408: comment out deactivated foreign keys in CREATE TABLE Co-authored-by: Cursor --- forward_engineering/helpers/tableHelper.js | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/forward_engineering/helpers/tableHelper.js b/forward_engineering/helpers/tableHelper.js index 3fe1dbc..3542247 100644 --- a/forward_engineering/helpers/tableHelper.js +++ b/forward_engineering/helpers/tableHelper.js @@ -1,4 +1,5 @@ const _ = require('lodash'); +const { commentIfDeactivated } = require('./commentDeactivatedHelper'); const getTableAttributes = (distStyle, distKey, compoundSortKey) => { let attributes = []; @@ -32,11 +33,26 @@ const getTableConstraints = (backup, compoundUniqueKey, compoundPrimaryKey, fore constraints.push(compoundPrimaryKey.statement); } - foreignKeyConstraints.forEach(constraint => { + const [activatedForeignKeys, deactivatedForeignKeys] = _.partition( + foreignKeyConstraints, + constraint => constraint.isActivated !== false, + ); + + activatedForeignKeys.forEach(constraint => { constraints.push(constraint.statement); }); - return !_.isEmpty(constraints) ? ',\n\t' + constraints.join(',\n\t') : ''; + const activatedConstraints = _.isEmpty(constraints) ? '' : ',\n\t' + constraints.join(',\n\t'); + const deactivatedConstraints = _.isEmpty(deactivatedForeignKeys) + ? '' + : '\n\t' + + commentIfDeactivated( + ', ' + deactivatedForeignKeys.map(constraint => constraint.statement).join(',\n\t'), + { isActivated: false }, + true, + ); + + return activatedConstraints + deactivatedConstraints; }; const getTableLikeConstraint = (likeTableName, includingDefault, needComma) => {