Skip to content

Commit 2c3a17f

Browse files
committed
HCK-12458: Fix order of ALTER script statements for keys
1 parent 003ae5e commit 2c3a17f

2 files changed

Lines changed: 22 additions & 7 deletions

File tree

forward_engineering/alterScript/alterScriptFromDeltaHelper.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ const {
1111
getDeleteColumnScriptDtos,
1212
getModifyColumnScriptDtos,
1313
getModifyCollectionScriptDtos,
14+
getModifyCollectionKeysScriptDtos,
1415
} = require('./alterScriptHelpers/alterEntityHelper');
1516
const {
1617
getDeleteUdtScriptDto,
@@ -111,6 +112,12 @@ const getAlterCollectionsScriptDtos = ({
111112
.map(getDeleteCollectionScriptDto(app));
112113

113114
const modifyCollectionScriptDtos = modifyScriptsData.flatMap(getModifyCollectionScriptDtos({ dbVersion }));
115+
const modifyCollectionKeysScriptDtos = modifyScriptsData.flatMap(getModifyCollectionKeysScriptDtos({ dbVersion }));
116+
117+
const [dropKeyScriptDtos, modifyKeyScriptDtos] = _.partition(
118+
modifyCollectionKeysScriptDtos,
119+
item => item.scripts[0]?.isDropScript,
120+
);
114121

115122
const addColumnScriptDtos = createScriptsData
116123
.filter(item => !item?.compMod?.created)
@@ -130,9 +137,11 @@ const getAlterCollectionsScriptDtos = ({
130137
...createCollectionsScriptDtos,
131138
...deleteCollectionScriptDtos,
132139
...modifyCollectionScriptDtos,
140+
...dropKeyScriptDtos,
133141
...addColumnScriptDtos,
134142
...deleteColumnScriptDtos,
135143
...modifyColumnScriptDtos,
144+
...modifyKeyScriptDtos,
136145
].filter(Boolean);
137146
};
138147

forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,19 +88,24 @@ const getModifyCollectionScriptDtos =
8888
collection => {
8989
const modifyCheckConstraintScriptDtos = getModifyCheckConstraintScriptDtos(collection);
9090
const modifyCommentScriptDtos = getModifyEntityCommentsScriptDtos(collection);
91+
return [...modifyCheckConstraintScriptDtos, ...modifyCommentScriptDtos].filter(Boolean);
92+
};
93+
94+
/**
95+
* @return {(collection: AlterCollectionDto) => AlterScriptDto[]}
96+
* */
97+
const getModifyCollectionKeysScriptDtos =
98+
({ dbVersion }) =>
99+
collection => {
91100
const modifyPKConstraintDtos = getModifyPkConstraintsScriptDtos(collection);
92101
const modifyUniqueKeyConstraintDtos = getModifyUniqueKeyConstraintsScriptDtos({
93102
collection,
94103
dbVersion,
95104
});
96105
const modifyIndexesScriptDtos = getModifyIndexesScriptDtos({ collection, dbVersion });
97-
return [
98-
...modifyCheckConstraintScriptDtos,
99-
...modifyCommentScriptDtos,
100-
...modifyPKConstraintDtos,
101-
...modifyUniqueKeyConstraintDtos,
102-
...modifyIndexesScriptDtos,
103-
].filter(Boolean);
106+
return [...modifyPKConstraintDtos, ...modifyUniqueKeyConstraintDtos, ...modifyIndexesScriptDtos].filter(
107+
Boolean,
108+
);
104109
};
105110

106111
/**
@@ -295,6 +300,7 @@ module.exports = {
295300
getAddCollectionScriptDto,
296301
getDeleteCollectionScriptDto,
297302
getModifyCollectionScriptDtos,
303+
getModifyCollectionKeysScriptDtos,
298304
getAddColumnScriptDtos,
299305
getDeleteColumnScriptDtos,
300306
getModifyColumnScriptDtos,

0 commit comments

Comments
 (0)