Commit 3f8a5abe244ae115675425f8de3fac2b52ac213e

Authored by 芋道源码
Committed by GitHub
2 parents bbf916e1 4ce1fa53

Merge pull request #12 from shanzhiliu/master

代码生成模块,基于DB导入时,多个schema下有相同的表,导入异常的问题处理
src/main/java/cn/iocoder/dashboard/modules/tool/dal/mysql/codegen/ToolSchemaColumnMapper.java
... ... @@ -10,9 +10,10 @@ import java.util.List;
10 10 @Mapper
11 11 public interface ToolSchemaColumnMapper extends BaseMapperX<ToolSchemaColumnDO> {
12 12  
13   - default List<ToolSchemaColumnDO> selectListByTableName(String tableName) {
  13 + default List<ToolSchemaColumnDO> selectListByTableName(String tableSchema, String tableName) {
14 14 return selectList(new QueryWrapper<ToolSchemaColumnDO>().eq("table_name", tableName)
15   - .orderByAsc("ordinal_position"));
  15 + .eq("table_schema", tableSchema)
  16 + .orderByAsc("ordinal_position"));
16 17 }
17 18  
18 19 }
... ...
src/main/java/cn/iocoder/dashboard/modules/tool/dal/mysql/codegen/ToolSchemaTableMapper.java
... ... @@ -22,8 +22,9 @@ public interface ToolSchemaTableMapper extends BaseMapperX&lt;ToolSchemaTableDO&gt; {
22 22 return selectList(new QueryWrapper<ToolSchemaTableDO>().eq("table_schema", tableSchema));
23 23 }
24 24  
25   - default ToolSchemaTableDO selectByTableName(String tableName) {
26   - return selectOne(new QueryWrapper<ToolSchemaTableDO>().eq("table_name", tableName));
  25 + default ToolSchemaTableDO selectByTableName1(String tableSchema, String tableName) {
  26 + return selectOne(new QueryWrapper<ToolSchemaTableDO>().eq("table_schema",tableSchema)
  27 + .eq("table_name", tableName));
27 28 }
28 29  
29 30 }
... ...
src/main/java/cn/iocoder/dashboard/modules/tool/service/codegen/impl/ToolCodegenServiceImpl.java
... ... @@ -101,9 +101,11 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
101 101  
102 102 @Override
103 103 public Long createCodegen(String tableName) {
  104 + //获取当前schema
  105 + String tableSchema = codegenProperties.getDbSchemas().iterator().next();
104 106 // 从数据库中,获得数据库表结构
105   - ToolSchemaTableDO schemaTable = schemaTableMapper.selectByTableName(tableName);
106   - List<ToolSchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableName);
  107 + ToolSchemaTableDO schemaTable = schemaTableMapper.selectByTableName1(tableSchema, tableName);
  108 + List<ToolSchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableSchema, tableName);
107 109 // 导入
108 110 return this.createCodegen0(ToolCodegenImportTypeEnum.DB, schemaTable, schemaColumns);
109 111 }
... ... @@ -141,8 +143,9 @@ public class ToolCodegenServiceImpl implements ToolCodegenService {
141 143 if (table == null) {
142 144 throw exception(CODEGEN_TABLE_NOT_EXISTS);
143 145 }
  146 + String tableSchema = codegenProperties.getDbSchemas().iterator().next();
144 147 // 从数据库中,获得数据库表结构
145   - List<ToolSchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(table.getTableName());
  148 + List<ToolSchemaColumnDO> schemaColumns = schemaColumnMapper.selectListByTableName(tableSchema, table.getTableName());
146 149  
147 150 // 执行同步
148 151 this.syncCodegen0(tableId, schemaColumns);
... ...