/*
 * Copyright (c) 2023 codvision.com All Rights Reserved.
 */

package com.codvision.db.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

/**
 * 数据版本配置控制
 *
 * @author lingee
 * @date 2023/12/5
 */
@Data
@Configuration
@ConfigurationProperties("cvbp.dbvctl")
public class DBVCTLProps {

    /**
     * 是否自动执行数据库版本控制，默认不执行
     */
    private Boolean enabled = Boolean.FALSE;

    /**
     * 数据库非空但首次使用数据库版本管理时，指定生成版本基线的业务空间及其基线版本，多个业务空间时使用逗号连接。
     * 例如:"raven_V1.0.0,sentry_V1.1.2"
     */
    private String baselineBusinessSpaceAndVersions;

    /**
     * 是否重置数据库基线版本
     */
    private Boolean baselineReset = Boolean.FALSE;

    /**
     * 数据库基线版本重置条件SQL，只有[baselineReset]设置为true，且该SQL查询结果非空，才会进行数据库基线版本重置操作
     * 通常建议使用时间戳字段[install_time]作为查询SQL的条件，这样只会生效一次，
     * 以后升级版本时，即使忘记将【baselineReset】属性清除或设置为false也不会导致数据库基线版本被误重置。
     */
    private String baselineResetConditionSql = "";


}
