package com.mini.capi.biz.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * VIEW
 * </p>
 *
 * @author gaoxq
 * @since 2025-08-29
 */
@Getter
@Setter
@TableName("biz_sync_tables_view")
public class SyncTablesView implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 记录创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 同步任务唯一标识
     */
    @TableField("task_id")
    private String taskId;

    /**
     * 同步任务名称
     */
    @TableField("task_name")
    private String taskName;

    /**
     * 源数据库配置ID，关联biz_db_config表
     */
    @TableField("source_db_id")
    private String sourceDbId;

    /**
     * 源数据库表名
     */
    @TableField("source_table")
    private String sourceTable;

    /**
     * 目标数据库表名
     */
    @TableField("target_table")
    private String targetTable;

    /**
     * 是否激活（任务启用状态标识）
     */
    @TableField("is_active")
    private String isActive;

    /**
     * 最后一次同步时间
     */
    @TableField("last_sync_time")
    private LocalDateTime lastSyncTime;

    /**
     * 记录最后更新时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 数据库类型（如mysql、oracle、postgresql等）
     */
    @TableField("db_type")
    private String dbType;

    /**
     * 数据库配置唯一标识
     */
    @TableField("db_id")
    private String dbId;

    /**
     * 成功同步记录数
     */
    @TableField("success_rows")
    private Long successRows;
}
