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

cn.schoolwow.quickdao.domain.util.SynchronizeTableStructureOption Maven / Gradle / Ivy

There is a newer version: 5.3.1
Show newest version
package cn.schoolwow.quickdao.domain.util;

import cn.schoolwow.quickdao.domain.DAO;
import cn.schoolwow.quickdao.domain.entity.Entity;
import cn.schoolwow.quickdao.domain.entity.Property;

import java.util.function.BiPredicate;
import java.util.function.Predicate;

public class SynchronizeTableStructureOption {
    /**
     * 源数据库
     */
    public DAO source;

    /**
     * 目标数据库
     */
    public DAO target;

    /**
     * 指定要比对的表,为空则比对所有表
     */
    public String[] tableNames;

    /**
     * 判断两个列是否相同,默认情况使用列类型和长度匹配
     * 

返回true表示两列不同,false表示两列相同

*/ public BiPredicate diffPropertyPredicate = (source, target) -> { if (!source.columnType.equals(target.columnType)) { return true; } if (null == source.range && null == target.range) { return false; } if (null != source.range) { return !source.range.equals(target.range); } return false; }; /** * 是否执行列结构同步SQL语句 */ public boolean executeSQL; /** * 是否新增该表 */ public Predicate createTablePredicate; /** * 是否新增该属性 */ public Predicate createPropertyPredicate; /** * 是否修改该属性 * 参数1为原数据库列属性,参数2为目标数据库列属性 */ public BiPredicate updatePropertyPredicate; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy