From 7929d534688dac3421b36a233bb92a1a41b506ac Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Thu, 6 Nov 2025 12:10:51 +0100 Subject: [PATCH] HCK-13408: Separate comment statements are not commented when their parent is inactive --- .../alterContainerHelper.js | 7 ++++--- .../alterScriptHelpers/alterEntityHelper.js | 19 +++++++++++++++---- .../alterScriptHelpers/alterViewHelper.js | 7 ++++--- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/forward_engineering/helpers/alterScriptHelpers/alterContainerHelper.js b/forward_engineering/helpers/alterScriptHelpers/alterContainerHelper.js index 63834425..6579c78a 100644 --- a/forward_engineering/helpers/alterScriptHelpers/alterContainerHelper.js +++ b/forward_engineering/helpers/alterScriptHelpers/alterContainerHelper.js @@ -1,5 +1,6 @@ const { prepareContainerLevelData } = require('./common'); -const { getDbName } = require('../general'); +const { getDbName, isObjectInDeltaModelActivated } = require('../general'); +const { commentIfDeactivated } = require('../commentHelpers/commentDeactivatedHelper'); const getAddContainerScript = ddlProvider => container => { const containerData = { ...container.role, name: getDbName(container.role) }; @@ -17,8 +18,8 @@ const getDeleteContainerScript = ddlProvider => container => { const getModifyContainerScript = ddlProvider => container => { const preparedData = ddlProvider.hydrateAlterSchema(container); - - return ddlProvider.alterSchema(preparedData); + const isActivated = isObjectInDeltaModelActivated(container); + return commentIfDeactivated(ddlProvider.alterSchema(preparedData), { isActivated }); }; module.exports = { diff --git a/forward_engineering/helpers/alterScriptHelpers/alterEntityHelper.js b/forward_engineering/helpers/alterScriptHelpers/alterEntityHelper.js index 9d5c8acc..d4d8100c 100644 --- a/forward_engineering/helpers/alterScriptHelpers/alterEntityHelper.js +++ b/forward_engineering/helpers/alterScriptHelpers/alterEntityHelper.js @@ -2,7 +2,14 @@ const _ = require('lodash'); const { checkFieldPropertiesChanged, getNames, getBaseAndContainerNames } = require('./common'); const { createColumnDefinitionBySchema } = require('./createColumnDefinition'); const { commentIfDeactivated } = require('../commentHelpers/commentDeactivatedHelper'); -const { getEntityName, getFullName, getName, toString } = require('../general'); +const { + getEntityName, + getFullName, + getName, + toString, + isParentContainerActivated, + isObjectInDeltaModelActivated, +} = require('../general'); const { getSetTagValue, getUnsetTagValue } = require('../../helpers/tagHelper'); const assignTemplates = require('../../utils/assignTemplates'); const templates = require('../../configs/templates'); @@ -58,8 +65,8 @@ const getDeleteCollectionScript = collection => { const getModifyCollectionScript = ddlProvider => collection => { const data = ddlProvider.hydrateAlertTable(collection); - - return ddlProvider.alterTable(data); + const isActivated = isParentContainerActivated(collection) && isObjectInDeltaModelActivated(collection); + return commentIfDeactivated(ddlProvider.alterTable(data), { isActivated }); }; const getAddColumnScript = @@ -120,6 +127,7 @@ const getModifyColumnScript = `ALTER TABLE IF EXISTS ${fullName} RENAME COLUMN ${jsonSchema.compMod.oldField.name} TO ${jsonSchema.compMod.newField.name};`, ); + const isParentActivated = isParentContainerActivated(collection) && isObjectInDeltaModelActivated(collection); const nameToJsonSchemaPairs = _.toPairs(collection.properties); const changeTypeScripts = nameToJsonSchemaPairs @@ -166,10 +174,13 @@ const getModifyColumnScript = // new or modified comment if (oldComment !== comment) { - return assignTemplates(templates.columnComment, { + const statement = assignTemplates(templates.columnComment, { fullName: `${fullName}.${columnName}`, comment: escapeString(scriptFormat, comment), }); + return commentIfDeactivated(statement, { + isActivated: jsonSchema.isActivated && isParentActivated, + }); } }) .filter(Boolean); diff --git a/forward_engineering/helpers/alterScriptHelpers/alterViewHelper.js b/forward_engineering/helpers/alterScriptHelpers/alterViewHelper.js index ae8cbf32..c67a1adb 100644 --- a/forward_engineering/helpers/alterScriptHelpers/alterViewHelper.js +++ b/forward_engineering/helpers/alterScriptHelpers/alterViewHelper.js @@ -1,6 +1,7 @@ const _ = require('lodash'); const { getNames, getBaseAndContainerNames } = require('./common'); -const { getFullName, getName } = require('../general'); +const { getFullName, getName, isParentContainerActivated, isObjectInDeltaModelActivated } = require('../general'); +const { commentIfDeactivated } = require('../commentHelpers/commentDeactivatedHelper'); const getViewName = view => view?.code || view.name || ''; @@ -42,8 +43,8 @@ const getDeleteViewScript = view => { const getModifyViewScript = ddlProvider => view => { const data = ddlProvider.hydrateAlterView(view); - - return ddlProvider.alterView(data); + const isActivated = isParentContainerActivated(view) && isObjectInDeltaModelActivated(view); + return commentIfDeactivated(ddlProvider.alterView(data), { isActivated }); }; const getKeys = ({ viewSchema, collectionRefsDefinitionsMap, ddlProvider, mapProperties }) => {