Prechádzať zdrojové kódy

!219 merge
Merge pull request !219 from AE86/v_2.0

AE86 1 rok pred
rodič
commit
95993ecc83
30 zmenil súbory, kde vykonal 72 pridanie a 42 odobranie
  1. 1 1
      dbsyncer-biz/pom.xml
  2. 0 2
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/checker/impl/tablegroup/TableGroupChecker.java
  3. 4 7
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/MappingServiceImpl.java
  4. 4 1
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/TableGroupServiceImpl.java
  5. 1 1
      dbsyncer-cluster/pom.xml
  6. 1 1
      dbsyncer-common/pom.xml
  7. 1 1
      dbsyncer-connector/dbsyncer-connector-base/pom.xml
  8. 6 1
      dbsyncer-connector/dbsyncer-connector-base/src/main/java/org/dbsyncer/connector/base/ConnectorFactory.java
  9. 1 1
      dbsyncer-connector/dbsyncer-connector-elasticsearch/pom.xml
  10. 1 1
      dbsyncer-connector/dbsyncer-connector-file/pom.xml
  11. 1 1
      dbsyncer-connector/dbsyncer-connector-kafka/pom.xml
  12. 1 1
      dbsyncer-connector/dbsyncer-connector-mysql/pom.xml
  13. 5 1
      dbsyncer-connector/dbsyncer-connector-oracle/pom.xml
  14. 1 1
      dbsyncer-connector/dbsyncer-connector-postgresql/pom.xml
  15. 1 1
      dbsyncer-connector/dbsyncer-connector-sqlite/pom.xml
  16. 1 1
      dbsyncer-connector/dbsyncer-connector-sqlserver/pom.xml
  17. 1 1
      dbsyncer-connector/pom.xml
  18. 1 1
      dbsyncer-manager/pom.xml
  19. 1 1
      dbsyncer-parser/pom.xml
  20. 3 0
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/ddl/DDLParser.java
  21. 3 0
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/ddl/impl/DDLParserImpl.java
  22. 4 2
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/impl/ParserComponentImpl.java
  23. 8 3
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/AbstractConfigModel.java
  24. 7 2
      dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/TableGroup.java
  25. 1 1
      dbsyncer-plugin/pom.xml
  26. 1 1
      dbsyncer-sdk/pom.xml
  27. 4 4
      dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/connector/database/AbstractDatabaseConnector.java
  28. 1 1
      dbsyncer-storage/pom.xml
  29. 1 1
      dbsyncer-web/pom.xml
  30. 6 1
      pom.xml

+ 1 - 1
dbsyncer-biz/pom.xml

@@ -5,7 +5,7 @@
 	<parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
 	<modelVersion>4.0.0</modelVersion>
 	<artifactId>dbsyncer-biz</artifactId>

+ 0 - 2
dbsyncer-biz/src/main/java/org/dbsyncer/biz/checker/impl/tablegroup/TableGroupChecker.java

@@ -72,11 +72,9 @@ public class TableGroupChecker extends AbstractChecker {
 
         // 获取连接器信息
         TableGroup tableGroup = new TableGroup();
-        tableGroup.setFieldMapping(new ArrayList<>());
         tableGroup.setMappingId(mappingId);
         tableGroup.setSourceTable(getTable(mapping.getSourceConnectorId(), sourceTable, sourceTablePK));
         tableGroup.setTargetTable(getTable(mapping.getTargetConnectorId(), targetTable, targetTablePK));
-        tableGroup.setParams(new HashMap<>());
 
         // 修改基本配置
         this.modifyConfigModel(tableGroup, params);

+ 4 - 7
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/MappingServiceImpl.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.biz.impl;
 
 import org.dbsyncer.biz.BizException;
@@ -22,9 +25,8 @@ import org.dbsyncer.parser.model.Mapping;
 import org.dbsyncer.parser.model.Meta;
 import org.dbsyncer.parser.model.TableGroup;
 import org.dbsyncer.sdk.connector.ConnectorInstance;
-import org.dbsyncer.sdk.enums.ModelEnum;
-import org.dbsyncer.sdk.model.Table;
 import org.dbsyncer.sdk.constant.ConfigConstant;
+import org.dbsyncer.sdk.enums.ModelEnum;
 import org.dbsyncer.storage.impl.SnowflakeIdWorker;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
@@ -32,7 +34,6 @@ import org.springframework.util.Assert;
 
 import javax.annotation.Resource;
 import java.time.Instant;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -240,10 +241,6 @@ public class MappingServiceImpl extends BaseServiceImpl implements MappingServic
         ConnectorVo tConn = new ConnectorVo(connectorService.isAlive(t.getId()));
         BeanUtils.copyProperties(t, tConn);
 
-        // 按升序展示表
-        Collections.sort(sConn.getTable(), Comparator.comparing(Table::getName));
-        Collections.sort(tConn.getTable(), Comparator.comparing(Table::getName));
-
         // 元信息
         Meta meta = profileComponent.getMeta(mapping.getMetaId());
         Assert.notNull(meta, "Meta can not be null.");

+ 4 - 1
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/TableGroupServiceImpl.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.biz.impl;
 
 import org.dbsyncer.biz.TableGroupService;
@@ -9,8 +12,8 @@ import org.dbsyncer.parser.LogType;
 import org.dbsyncer.parser.ProfileComponent;
 import org.dbsyncer.parser.model.Mapping;
 import org.dbsyncer.parser.model.TableGroup;
-import org.dbsyncer.sdk.model.Field;
 import org.dbsyncer.sdk.constant.ConfigConstant;
+import org.dbsyncer.sdk.model.Field;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 

+ 1 - 1
dbsyncer-cluster/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-cluster</artifactId>

+ 1 - 1
dbsyncer-common/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-common</artifactId>

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-base/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 6 - 1
dbsyncer-connector/dbsyncer-connector-base/src/main/java/org/dbsyncer/connector/base/ConnectorFactory.java

@@ -21,6 +21,8 @@ import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
 
 import javax.annotation.PostConstruct;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -123,7 +125,10 @@ public class ConnectorFactory implements DisposableBean {
      */
     public List<Table> getTable(ConnectorInstance connectorInstance) {
         Assert.notNull(connectorInstance, "ConnectorInstance can not be null.");
-        return getConnectorService(connectorInstance.getConfig()).getTable(connectorInstance);
+        List tableList = getConnectorService(connectorInstance.getConfig()).getTable(connectorInstance);
+        // 按升序展示表
+        Collections.sort(tableList, Comparator.comparing(Table::getName));
+        return tableList;
     }
 
     /**

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-elasticsearch/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-file/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-kafka/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-mysql/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 5 - 1
dbsyncer-connector/dbsyncer-connector-oracle/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -25,6 +25,10 @@
             <groupId>com.oracle.database.jdbc</groupId>
             <artifactId>ojdbc8</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.oracle.database.nls</groupId>
+            <artifactId>orai18n</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>com.github.jsqlparser</groupId>

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-postgresql/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-sqlite/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
dbsyncer-connector/dbsyncer-connector-sqlserver/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer-connector</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 1 - 1
dbsyncer-connector/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-connector</artifactId>

+ 1 - 1
dbsyncer-manager/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-manager</artifactId>

+ 1 - 1
dbsyncer-parser/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-parser</artifactId>

+ 3 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/ddl/DDLParser.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.ddl;
 
 import org.dbsyncer.parser.model.FieldMapping;

+ 3 - 0
dbsyncer-parser/src/main/java/org/dbsyncer/parser/ddl/impl/DDLParserImpl.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.ddl.impl;
 
 import net.sf.jsqlparser.JSQLParserException;

+ 4 - 2
dbsyncer-parser/src/main/java/org/dbsyncer/parser/impl/ParserComponentImpl.java

@@ -1,3 +1,6 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.impl;
 
 import org.dbsyncer.common.model.Result;
@@ -108,8 +111,7 @@ public class ParserComponentImpl implements ParserComponent {
         final CommandConfig sourceConfig = new CommandConfig(sConnConfig.getConnectorType(), sTable, sConnConfig, tableGroup.getFilter());
         final CommandConfig targetConfig = new CommandConfig(tConnConfig.getConnectorType(), tTable, tConnConfig, null);
         // 获取连接器同步参数
-        Map<String, String> command = connectorFactory.getCommand(sourceConfig, targetConfig);
-        return command;
+        return connectorFactory.getCommand(sourceConfig, targetConfig);
     }
 
     @Override

+ 8 - 3
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/AbstractConfigModel.java

@@ -1,21 +1,26 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.model;
 
 import org.dbsyncer.plugin.model.Plugin;
 import org.dbsyncer.sdk.model.Filter;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 public abstract class AbstractConfigModel extends ConfigModel {
 
     // 全局参数
-    private Map<String, String> params;
+    private Map<String, String> params = new HashMap<>();
 
     // 过滤条件
-    private List<Filter> filter;
+    private List<Filter> filter = new ArrayList<>();;
 
     // 转换配置
-    private List<Convert> convert;
+    private List<Convert> convert = new ArrayList<>();;
 
     // 插件配置
     private Plugin plugin;

+ 7 - 2
dbsyncer-parser/src/main/java/org/dbsyncer/parser/model/TableGroup.java

@@ -1,8 +1,13 @@
+/**
+ * DBSyncer Copyright 2020-2024 All Rights Reserved.
+ */
 package org.dbsyncer.parser.model;
 
 import org.dbsyncer.sdk.model.Table;
 import org.dbsyncer.sdk.constant.ConfigConstant;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -31,10 +36,10 @@ public class TableGroup extends AbstractConfigModel {
     private Table targetTable;
 
     // 字段映射关系
-    private List<FieldMapping> fieldMapping;
+    private List<FieldMapping> fieldMapping = new ArrayList<>();
 
     // 执行命令,例SQL等
-    private Map<String, String> command;
+    private Map<String, String> command = new HashMap<>();
 
     public int getIndex() {
         return index;

+ 1 - 1
dbsyncer-plugin/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-plugin</artifactId>

+ 1 - 1
dbsyncer-sdk/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-sdk</artifactId>

+ 4 - 4
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/connector/database/AbstractDatabaseConnector.java

@@ -316,15 +316,15 @@ public abstract class AbstractDatabaseConnector extends AbstractConnector implem
     }
 
     /**
-     * 满足游标查询条件,追加主键排序
+     * 满足游标查询条件,追加主键排序(单个主键才做排序)
      *
      * @param config
      * @param sql
      */
     protected void appendOrderByPk(PageSql config, StringBuilder sql) {
-        sql.append(" ORDER BY ");
-        final String quotation = buildSqlWithQuotation();
-        if (config.getPrimaryKeys().size() == 1){
+        if (!CollectionUtils.isEmpty(config.getPrimaryKeys()) && config.getPrimaryKeys().size() == 1) {
+            sql.append(" ORDER BY ");
+            final String quotation = buildSqlWithQuotation();
             PrimaryKeyUtil.buildSql(sql, config.getPrimaryKeys(), quotation, ",", "", true);
         }
     }

+ 1 - 1
dbsyncer-storage/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-storage</artifactId>

+ 1 - 1
dbsyncer-web/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>dbsyncer</artifactId>
         <groupId>org.ghi</groupId>
-        <version>2.0.1-Beta</version>
+        <version>2.0.1_0120-Beta</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>dbsyncer-web</artifactId>

+ 6 - 1
pom.xml

@@ -6,7 +6,7 @@
 
     <groupId>org.ghi</groupId>
     <artifactId>dbsyncer</artifactId>
-    <version>2.0.1-Beta</version>
+    <version>2.0.1_0120-Beta</version>
     <packaging>pom</packaging>
     <name>dbsyncer</name>
     <url>https://gitee.com/ghi/dbsyncer</url>
@@ -147,6 +147,11 @@
                 <artifactId>ojdbc8</artifactId>
                 <version>${ojdbc8.version}</version>
             </dependency>
+            <dependency>
+                <groupId>com.oracle.database.nls</groupId>
+                <artifactId>orai18n</artifactId>
+                <version>${ojdbc8.version}</version>
+            </dependency>
 
             <!-- sqlserver-driver -->
             <dependency>