package com.njcn.gather.systemops.database.pojo.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 数据库备份文件记录。
 */
@Data
@TableName("dbms_backup_file")
public class DatabaseBackupFile implements Serializable {
    private static final long serialVersionUID = 3119981982091873277L;

    @TableId("id")
    private String id;
    @TableField("task_id")
    private String taskId;
    @TableField("connection_id")
    private String connectionId;
    @TableField("db_type")
    private String dbType;
    @TableField("backup_strategy")
    private String backupStrategy;
    @TableField("file_format")
    private String fileFormat;
    @TableField("schema_name")
    private String schemaName;
    @TableField("target_names_json")
    private String targetNamesJson;
    @TableField("backup_mode")
    private String backupMode;
    @TableField("backup_start_time")
    private LocalDateTime backupStartTime;
    @TableField("backup_end_time")
    private LocalDateTime backupEndTime;
    @TableField("time_column")
    private String timeColumn;
    @TableField("directory_name")
    private String directoryName;
    @TableField("dump_file_name")
    private String dumpFileName;
    @TableField("log_file_name")
    private String logFileName;
    @TableField("file_name")
    private String fileName;
    @TableField("file_path")
    private String filePath;
    @TableField("log_file_path")
    private String logFilePath;
    @TableField("metadata_file_path")
    private String metadataFilePath;
    @TableField("file_size")
    private Long fileSize;
    @TableField("checksum")
    private String checksum;
    @TableField("state")
    private Integer state;
    @TableField("create_by")
    private String createBy;
    @TableField("create_time")
    private LocalDateTime createTime;
    @TableField("update_by")
    private String updateBy;
    @TableField("update_time")
    private LocalDateTime updateTime;
}
