新增MySQL和pg数据库的同步
This commit is contained in:
@@ -15,7 +15,7 @@ import lombok.Setter;
|
|||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author gaoxq
|
* @author gaoxq
|
||||||
* @since 2025-08-26
|
* @since 2025-08-27
|
||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@@ -24,39 +24,81 @@ public class DbConfig implements Serializable {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录创建时间
|
||||||
|
*/
|
||||||
@TableField("create_time")
|
@TableField("create_time")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库配置唯一标识
|
||||||
|
*/
|
||||||
@TableId(value = "db_id", type = IdType.AUTO)
|
@TableId(value = "db_id", type = IdType.AUTO)
|
||||||
private String dbId;
|
private String dbId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库类型(如mysql、oracle、postgresql等)
|
||||||
|
*/
|
||||||
@TableField("db_type")
|
@TableField("db_type")
|
||||||
private String dbType;
|
private String dbType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库名称
|
||||||
|
*/
|
||||||
@TableField("db_name")
|
@TableField("db_name")
|
||||||
private String dbName;
|
private String dbName;
|
||||||
|
|
||||||
@TableField("host")
|
/**
|
||||||
private String host;
|
* 数据库默认Schema(PostgresSQL特有,如public、ods、dw等,为空时默认用public)
|
||||||
|
*/
|
||||||
|
@TableField("db_schema")
|
||||||
|
private String dbSchema;
|
||||||
|
|
||||||
@TableField("port")
|
/**
|
||||||
private Integer port;
|
* 数据库主机地址
|
||||||
|
*/
|
||||||
|
@TableField("db_host")
|
||||||
|
private String dbHost;
|
||||||
|
|
||||||
@TableField("username")
|
/**
|
||||||
private String username;
|
* 数据库端口号
|
||||||
|
*/
|
||||||
|
@TableField("db_port")
|
||||||
|
private Integer dbPort;
|
||||||
|
|
||||||
@TableField("password")
|
/**
|
||||||
private String password;
|
* 数据库登录用户名
|
||||||
|
*/
|
||||||
|
@TableField("link_username")
|
||||||
|
private String linkUsername;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库登录密码
|
||||||
|
*/
|
||||||
|
@TableField("link_password")
|
||||||
|
private String linkPassword;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库驱动类全路径
|
||||||
|
*/
|
||||||
@TableField("driver_class")
|
@TableField("driver_class")
|
||||||
private String driverClass;
|
private String driverClass;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据库连接URL模板
|
||||||
|
*/
|
||||||
@TableField("url_template")
|
@TableField("url_template")
|
||||||
private String urlTemplate;
|
private String urlTemplate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否激活(可用状态标识)
|
||||||
|
*/
|
||||||
@TableField("is_active")
|
@TableField("is_active")
|
||||||
private String isActive;
|
private String isActive;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录最后更新时间
|
||||||
|
*/
|
||||||
@TableField("update_time")
|
@TableField("update_time")
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
@@ -83,12 +125,4 @@ public class DbConfig implements Serializable {
|
|||||||
*/
|
*/
|
||||||
@TableField("f_flow_state")
|
@TableField("f_flow_state")
|
||||||
private Integer fFlowState;
|
private Integer fFlowState;
|
||||||
|
|
||||||
|
|
||||||
// 生成数据库连接URL
|
|
||||||
public String getJdbcUrl() {
|
|
||||||
return urlTemplate.replace("{host}", host)
|
|
||||||
.replace("{port}", port.toString())
|
|
||||||
.replace("{dbName}", dbName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import lombok.Setter;
|
|||||||
* </p>
|
* </p>
|
||||||
*
|
*
|
||||||
* @author gaoxq
|
* @author gaoxq
|
||||||
* @since 2025-08-26
|
* @since 2025-08-27
|
||||||
*/
|
*/
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@@ -24,42 +24,81 @@ public class SyncTask implements Serializable {
|
|||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录创建时间
|
||||||
|
*/
|
||||||
@TableField("create_time")
|
@TableField("create_time")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步任务唯一标识
|
||||||
|
*/
|
||||||
@TableId(value = "task_id", type = IdType.AUTO)
|
@TableId(value = "task_id", type = IdType.AUTO)
|
||||||
private String taskId;
|
private String taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步任务名称
|
||||||
|
*/
|
||||||
@TableField("task_name")
|
@TableField("task_name")
|
||||||
private String taskName;
|
private String taskName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源数据库配置ID,关联biz_db_config表
|
||||||
|
*/
|
||||||
@TableField("source_db_id")
|
@TableField("source_db_id")
|
||||||
private String sourceDbId;
|
private String sourceDbId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目标数据库配置ID,关联biz_db_config表
|
||||||
|
*/
|
||||||
@TableField("target_db_id")
|
@TableField("target_db_id")
|
||||||
private String targetDbId;
|
private String targetDbId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 源数据库表名
|
||||||
|
*/
|
||||||
@TableField("source_table")
|
@TableField("source_table")
|
||||||
private String sourceTable;
|
private String sourceTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 目标数据库表名
|
||||||
|
*/
|
||||||
@TableField("target_table")
|
@TableField("target_table")
|
||||||
private String targetTable;
|
private String targetTable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 同步类型(如全量同步、增量同步等)
|
||||||
|
*/
|
||||||
@TableField("sync_type")
|
@TableField("sync_type")
|
||||||
private String syncType;
|
private String syncType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增量同步字段(用于增量同步时的判断依据)
|
||||||
|
*/
|
||||||
@TableField("increment_column")
|
@TableField("increment_column")
|
||||||
private String incrementColumn;
|
private String incrementColumn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 定时任务表达式( cron表达式 )
|
||||||
|
*/
|
||||||
@TableField("cron_expression")
|
@TableField("cron_expression")
|
||||||
private String cronExpression;
|
private String cronExpression;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否激活(任务启用状态标识)
|
||||||
|
*/
|
||||||
@TableField("is_active")
|
@TableField("is_active")
|
||||||
private String isActive;
|
private String isActive;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最后一次同步时间
|
||||||
|
*/
|
||||||
@TableField("last_sync_time")
|
@TableField("last_sync_time")
|
||||||
private LocalDateTime lastSyncTime;
|
private LocalDateTime lastSyncTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 记录最后更新时间
|
||||||
|
*/
|
||||||
@TableField("update_time")
|
@TableField("update_time")
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import java.util.Collections;
|
|||||||
public class demo {
|
public class demo {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
FastAutoGenerator.create("jdbc:mysql://192.168.31.189:33069/work?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC", "dream", "info_dream")
|
FastAutoGenerator.create("jdbc:mysql://crontab.club:33069/work?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC", "dream", "info_dream")
|
||||||
.globalConfig(builder -> {
|
.globalConfig(builder -> {
|
||||||
builder.author("gaoxq")
|
builder.author("gaoxq")
|
||||||
.outputDir(System.getProperty("user.dir") + "/src/main/java")
|
.outputDir(System.getProperty("user.dir") + "/src/main/java")
|
||||||
|
|||||||
Reference in New Issue
Block a user