瀏覽代碼

fix 修复代码生成同步表结构id冲突问题

疯狂的狮子li 3 年之前
父節點
當前提交
15c45eae11
共有 1 個文件被更改,包括 11 次插入6 次删除
  1. 11 6
      ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java

+ 11 - 6
ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java

@@ -35,10 +35,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
 import java.io.StringWriter;
-import java.util.Arrays;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
@@ -183,10 +180,14 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
                 if (row > 0) {
                     // 保存列信息
                     List<GenTableColumn> genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName);
+					List<GenTableColumn> saveColumns = new ArrayList<>();
                     for (GenTableColumn column : genTableColumns) {
                         GenUtils.initColumnField(column, table);
+						saveColumns.add(column);
                     }
-					genTableColumnMapper.insertAll(genTableColumns);
+                    if (CollUtil.isNotEmpty(saveColumns)) {
+						genTableColumnMapper.insertAll(saveColumns);
+					}
 				}
             }
         } catch (Exception e) {
@@ -290,12 +291,16 @@ public class GenTableServiceImpl extends ServicePlusImpl<GenTableMapper, GenTabl
         }
         List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList());
 
+		List<GenTableColumn> saveColumns = new ArrayList<>();
         dbTableColumns.forEach(column -> {
             if (!tableColumnNames.contains(column.getColumnName())) {
                 GenUtils.initColumnField(column, table);
+				saveColumns.add(column);
 			}
 		});
-		genTableColumnMapper.insertAll(tableColumns);
+		if (CollUtil.isNotEmpty(saveColumns)) {
+			genTableColumnMapper.insertAll(saveColumns);
+		}
 
         List<GenTableColumn> delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList());
         if (CollUtil.isNotEmpty(delColumns)) {