Commit 5b2e6ebca9219eb8af856aa3ddd51ab72d09b23e
1 parent
ffa2850a
修复代码生成-同步功能删除存在的字段问题。
Showing
1 changed file
with
2 additions
and
2 deletions
yudao-module-infra/yudao-module-infra-biz/src/main/java/cn/iocoder/yudao/module/infra/service/codegen/CodegenServiceImpl.java
| ... | ... | @@ -154,12 +154,12 @@ public class CodegenServiceImpl implements CodegenService { |
| 154 | 154 | // 构建 CodegenColumnDO 数组,只同步新增的字段 |
| 155 | 155 | List<CodegenColumnDO> codegenColumns = codegenColumnMapper.selectListByTableId(tableId); |
| 156 | 156 | Set<String> codegenColumnNames = CollectionUtils.convertSet(codegenColumns, CodegenColumnDO::getColumnName); |
| 157 | - // 移除已经存在的字段 | |
| 158 | - tableFields.removeIf(column -> codegenColumnNames.contains(column.getColumnName())); | |
| 159 | 157 | // 计算需要删除的字段 |
| 160 | 158 | Set<String> tableFieldNames = CollectionUtils.convertSet(tableFields, TableField::getName); |
| 161 | 159 | Set<Long> deleteColumnIds = codegenColumns.stream().filter(column -> !tableFieldNames.contains(column.getColumnName())) |
| 162 | 160 | .map(CodegenColumnDO::getId).collect(Collectors.toSet()); |
| 161 | + // 移除已经存在的字段 | |
| 162 | + tableFields.removeIf(column -> codegenColumnNames.contains(column.getColumnName())); | |
| 163 | 163 | if (CollUtil.isEmpty(tableFields) && CollUtil.isEmpty(deleteColumnIds)) { |
| 164 | 164 | throw exception(CODEGEN_SYNC_NONE_CHANGE); |
| 165 | 165 | } | ... | ... |