Skip to content

Commit cfae34f

Browse files
author
unknown
committed
Fixed drop-and-recreate related problems
1 parent d5df0bc commit cfae34f

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

forward_engineering/alterScript/alterScriptHelpers/alterEntityHelper.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,15 @@ const getModifyGeneratedColumnsScriptDtos = ({app, dbVersion, modelDefinitions,
204204
.filter(Boolean);
205205
}
206206

207+
const getDropAndRecreateColumnsScriptDtos = ({app, dbVersion, modelDefinitions, internalDefinitions, externalDefinitions}) =>
208+
(collection) => {
209+
const modifyGeneratedColumnsScriptDtos = getModifyGeneratedColumnsScriptDtos({app, dbVersion, modelDefinitions, internalDefinitions, externalDefinitions})(collection);
210+
211+
return [
212+
...modifyGeneratedColumnsScriptDtos,
213+
]
214+
}
215+
207216
/**
208217
* @return {(collection: Object) => AlterScriptDto[]}
209218
* */
@@ -214,15 +223,22 @@ const getModifyColumnScriptDtos = (
214223
const ddlProvider = require('../../ddlProvider/ddlProvider')(null, null, app);
215224

216225
const renameColumnScriptDtos = getRenameColumnScriptDtos(_, ddlProvider)(collection);
226+
227+
const dropAndRecreateScriptDtos = getDropAndRecreateColumnsScriptDtos({app, dbVersion, modelDefinitions, internalDefinitions, externalDefinitions})(collection);
228+
if (dropAndRecreateScriptDtos.length) {
229+
return [
230+
...renameColumnScriptDtos,
231+
...dropAndRecreateScriptDtos,
232+
].filter(Boolean);
233+
}
234+
217235
const updateTypeScriptDtos = getUpdateTypesScriptDtos(_, ddlProvider)(collection);
218-
const modifyGeneratedColumnsScriptDtos = getModifyGeneratedColumnsScriptDtos({app, dbVersion, modelDefinitions, internalDefinitions, externalDefinitions})(collection);
219236
const modifyNotNullScriptDtos = getModifyNonNullColumnsScriptDtos(_, ddlProvider)(collection);
220237
const modifyCommentScriptDtos = getModifiedCommentOnColumnScriptDtos(_, ddlProvider)(collection);
221238

222239
return [
223240
...renameColumnScriptDtos,
224241
...updateTypeScriptDtos,
225-
...modifyGeneratedColumnsScriptDtos,
226242
...modifyNotNullScriptDtos,
227243
...modifyCommentScriptDtos,
228244
].filter(Boolean);

0 commit comments

Comments
 (0)