From 00a9ca75a2028bee98b9ca0203f2152a547bdd02 Mon Sep 17 00:00:00 2001 From: Alik Rakhmonov Date: Fri, 10 Oct 2025 11:03:29 +0200 Subject: [PATCH] HCK-13023: if no key in composite PK/UK then default to empty array --- .../alterScriptHelpers/entityHelpers/primaryKeyHelper.js | 4 ++-- .../alterScriptHelpers/entityHelpers/uniqueKeyHelper.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js index 757b484..cfa8015 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/primaryKeyHelper.js @@ -76,7 +76,7 @@ const wasCompositePkChangedInTransitionFromCompositeToRegular = collection => { * @type {AlterCollectionRoleCompModPKDto[]} * */ const oldPrimaryKeys = pkDto.old || []; - const idsOfColumns = oldPrimaryKeys.flatMap(pk => pk.compositePrimaryKey.map(dto => dto.keyId)); + const idsOfColumns = oldPrimaryKeys.flatMap(pk => pk.compositePrimaryKey?.map(dto => dto.keyId) || []); if (idsOfColumns.length !== amountOfColumnsInRegularPk) { // We return false, because it wouldn't count as transition between regular PK and composite PK // if composite PK did not constraint exactly 1 column @@ -120,7 +120,7 @@ const wasCompositePkChangedInTransitionFromRegularToComposite = collection => { * @type {AlterCollectionRoleCompModPKDto[]} * */ const newPrimaryKeys = pkDto.new || []; - const idsOfColumns = newPrimaryKeys.flatMap(pk => pk.compositePrimaryKey.map(dto => dto.keyId)); + const idsOfColumns = newPrimaryKeys.flatMap(pk => pk.compositePrimaryKey?.map(dto => dto.keyId) || []); if (idsOfColumns.length !== amountOfColumnsInRegularPk) { // We return false, because it wouldn't count as transition between regular PK and composite PK // if composite PK does not constraint exactly 1 column diff --git a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js index 5bc5e23..5df3f22 100644 --- a/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js +++ b/forward_engineering/alterScript/alterScriptHelpers/entityHelpers/uniqueKeyHelper.js @@ -79,7 +79,7 @@ const wasCompositeUniqueKeyChangedInTransitionFromCompositeToRegular = collectio * @type {AlterCollectionRoleCompModUniqueKeyDto[]} * */ const oldUniqueKeys = uniqueDto.old || []; - const idsOfColumns = oldUniqueKeys.flatMap(unique => unique.compositeUniqueKey.map(dto => dto.keyId)); + const idsOfColumns = oldUniqueKeys.flatMap(unique => unique.compositeUniqueKey?.map(dto => dto.keyId) || []); if (idsOfColumns.length !== amountOfColumnsInRegularUniqueKey) { // We return false, because it wouldn't count as transition between regular UniqueKey and composite UniqueKey // if composite UniqueKey did not constraint exactly 1 column @@ -124,7 +124,7 @@ const wasCompositeUniqueKeyChangedInTransitionFromRegularToComposite = collectio * @type {AlterCollectionRoleCompModUniqueKeyDto[]} * */ const newUniqueKeys = uniqueDto.new || []; - const idsOfColumns = newUniqueKeys.flatMap(unique => unique.compositeUniqueKey.map(dto => dto.keyId)); + const idsOfColumns = newUniqueKeys.flatMap(unique => unique.compositeUniqueKey?.map(dto => dto.keyId) || []); if (idsOfColumns.length !== amountOfColumnsInRegularUniqueKey) { // We return false, because it wouldn't count as transition between regular UniqueKey and composite UniqueKey // if composite UniqueKey does not constraint exactly 1 column