All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.bootx.table.modify.mysql.entity.MySqlModifyParam Maven / Gradle / Ivy

There is a newer version: 1.5.5
Show newest version
package cn.bootx.table.modify.mysql.entity;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;

/**
 * 更新表语句
 * @author xxm
 * @since 2023/4/19
 */
@Getter
@Setter
@Accessors(chain = true)
public class MySqlModifyParam {
    /** 表名称 */
    private String name;

    /** 表注释 */
    private String comment;

    /** 表注释是否需要更新 */
    private boolean commentUpdate;

    /** 字符集 */
    private String charset;

    /** 字符集是否需要更新 */
    private boolean charsetUpdate;

    /** 存储引擎 */
    private String engine;

    /** 存储引擎是否需要更新 */
    private boolean engineUpdate;

    /** 主键列表 */
    private String keys;

    /** 新增索引列表 */
    private List addIndexes = new ArrayList<>();

    /** 删除索引列表 */
    private List dropIndexes = new ArrayList<>();

    /** 新增字段列表 */
    private List addColumns = new ArrayList<>();

    /** 修改字段列表 */
    private List modifyColumns = new ArrayList<>();

    /** 删除字段列表 */
    private List dropColumns = new ArrayList<>();

    /**
     * 是否需要更新
     */
    public boolean isUpdate(){
        return commentUpdate
                ||charsetUpdate
                ||engineUpdate
                || StrUtil.isNotBlank(keys)
                || CollUtil.isNotEmpty(addIndexes)
                || CollUtil.isNotEmpty(dropIndexes)
                || CollUtil.isNotEmpty(addColumns)
                || CollUtil.isNotEmpty(modifyColumns)
                || CollUtil.isNotEmpty(dropColumns);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy