From 2c3a17f5d9404382eecfc42fbe8031116c64484a Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Fri, 22 Aug 2025 15:48:23 +0200 Subject: [PATCH 1/4] HCK-12458: Fix order of ALTER script statements for keys --- .../alterScript/alterScriptFromDeltaHelper.js | 9 +++++++++ .../alterScriptHelpers/alterEntityHelper.js | 20 ++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js index 41ae8ad..d189e8c 100644 --- a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js +++ b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js @@ -11,6 +11,7 @@ const { getDeleteColumnScriptDtos, getModifyColumnScriptDtos, getModifyCollectionScriptDtos, + getModifyCollectionKeysScriptDtos, } = require('./alterScriptHelpers/alterEntityHelper'); const { getDeleteUdtScriptDto, @@ -111,6 +112,12 @@ const getAlterCollectionsScriptDtos = ({ .map(getDeleteCollectionScriptDto(app)); const modifyCollectionScriptDtos = modifyScriptsData.flatMap(getModifyCollectionScriptDtos({ dbVersion })); + const modifyCollectionKeysScriptDtos = modifyScriptsData.flatMap(getModifyCollectionKeysScriptDtos({ dbVersion })); + + const [dropKeyScriptDtos, modifyKeyScriptDtos] = _.partition( + modifyCollectionKeysScriptDtos, + item => item.scripts[0]?.isDropScript, + ); const addColumnScriptDtos = createScriptsData .filter(item => !item?.compMod?.created) @@ -130,9 +137,11 @@ const getAlterCollectionsScriptDtos = ({ ...createCollectionsScriptDtos, ...deleteCollectionScriptDtos, ...modifyCollectionScriptDtos, + ...dropKeyScriptDtos, ...addColumnScriptDtos, ...deleteColumnScriptDtos, ...modifyColumnScriptDtos, + ...modifyKeyScriptDtos, ].filter(Boolean); }; diff --git a/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js b/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js index c159ddf..a87183b 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js @@ -88,19 +88,24 @@ const getModifyCollectionScriptDtos = collection => { const modifyCheckConstraintScriptDtos = getModifyCheckConstraintScriptDtos(collection); const modifyCommentScriptDtos = getModifyEntityCommentsScriptDtos(collection); + return [...modifyCheckConstraintScriptDtos, ...modifyCommentScriptDtos].filter(Boolean); + }; + +/** + * @return {(collection: AlterCollectionDto) => AlterScriptDto[]} + * */ +const getModifyCollectionKeysScriptDtos = + ({ dbVersion }) => + collection => { const modifyPKConstraintDtos = getModifyPkConstraintsScriptDtos(collection); const modifyUniqueKeyConstraintDtos = getModifyUniqueKeyConstraintsScriptDtos({ collection, dbVersion, }); const modifyIndexesScriptDtos = getModifyIndexesScriptDtos({ collection, dbVersion }); - return [ - ...modifyCheckConstraintScriptDtos, - ...modifyCommentScriptDtos, - ...modifyPKConstraintDtos, - ...modifyUniqueKeyConstraintDtos, - ...modifyIndexesScriptDtos, - ].filter(Boolean); + return [...modifyPKConstraintDtos, ...modifyUniqueKeyConstraintDtos, ...modifyIndexesScriptDtos].filter( + Boolean, + ); }; /** @@ -295,6 +300,7 @@ module.exports = { getAddCollectionScriptDto, getDeleteCollectionScriptDto, getModifyCollectionScriptDtos, + getModifyCollectionKeysScriptDtos, getAddColumnScriptDtos, getDeleteColumnScriptDtos, getModifyColumnScriptDtos, From 4ea63484c7b9ad36f7c1372171060df0f2042612 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Tue, 26 Aug 2025 18:16:11 +0200 Subject: [PATCH 2/4] fix: order --- forward_engineering/alterScript/alterScriptFromDeltaHelper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js index d189e8c..8cae19e 100644 --- a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js +++ b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js @@ -135,9 +135,9 @@ const getAlterCollectionsScriptDtos = ({ return [ ...createCollectionsScriptDtos, + ...dropKeyScriptDtos, ...deleteCollectionScriptDtos, ...modifyCollectionScriptDtos, - ...dropKeyScriptDtos, ...addColumnScriptDtos, ...deleteColumnScriptDtos, ...modifyColumnScriptDtos, From c0747f7c3674a2aa4b8b16bd11b526f7b62fa5e7 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Wed, 27 Aug 2025 11:13:54 +0200 Subject: [PATCH 3/4] fix order --- .../alterScript/alterScriptFromDeltaHelper.js | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js index 8cae19e..9662121 100644 --- a/forward_engineering/alterScript/alterScriptFromDeltaHelper.js +++ b/forward_engineering/alterScript/alterScriptFromDeltaHelper.js @@ -114,11 +114,6 @@ const getAlterCollectionsScriptDtos = ({ const modifyCollectionScriptDtos = modifyScriptsData.flatMap(getModifyCollectionScriptDtos({ dbVersion })); const modifyCollectionKeysScriptDtos = modifyScriptsData.flatMap(getModifyCollectionKeysScriptDtos({ dbVersion })); - const [dropKeyScriptDtos, modifyKeyScriptDtos] = _.partition( - modifyCollectionKeysScriptDtos, - item => item.scripts[0]?.isDropScript, - ); - const addColumnScriptDtos = createScriptsData .filter(item => !item?.compMod?.created) .flatMap( @@ -135,13 +130,12 @@ const getAlterCollectionsScriptDtos = ({ return [ ...createCollectionsScriptDtos, - ...dropKeyScriptDtos, ...deleteCollectionScriptDtos, ...modifyCollectionScriptDtos, ...addColumnScriptDtos, + ...modifyCollectionKeysScriptDtos, ...deleteColumnScriptDtos, ...modifyColumnScriptDtos, - ...modifyKeyScriptDtos, ].filter(Boolean); }; From b6f4c852e90a3bc9ee1b4d36376d41951617e948 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Thu, 28 Aug 2025 09:31:58 +0200 Subject: [PATCH 4/4] =?UTF-8?q?=D0=B0=D1=88=D1=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alterScript/alterScriptHelpers/alterEntityHelper.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js b/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js index a87183b..7eae35e 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js @@ -300,8 +300,8 @@ module.exports = { getAddCollectionScriptDto, getDeleteCollectionScriptDto, getModifyCollectionScriptDtos, - getModifyCollectionKeysScriptDtos, getAddColumnScriptDtos, getDeleteColumnScriptDtos, getModifyColumnScriptDtos, + getModifyCollectionKeysScriptDtos, };