类 DorisStrategy

java.lang.Object
org.dromara.autotable.strategy.doris.DorisStrategy
所有已实现的接口:
org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>

public class DorisStrategy extends Object implements org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
项目启动时自动扫描配置的目录中的model,根据配置的规则自动创建或更新表 该逻辑只适用于mysql,其他数据库尚且需要另外扩展,因为sql的语法不同
版本:
2019/07/06
作者:
sunchenbin, Spet
  • 字段详细资料

  • 构造器详细资料

    • DorisStrategy

      public DorisStrategy()
  • 方法详细资料

    • databaseDialect

      public String databaseDialect()
      指定者:
      databaseDialect 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
    • identifier

      public String identifier()
      指定者:
      identifier 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
    • typeMapping

      public Map<Class<?>,org.dromara.autotable.core.converter.DefaultTypeEnumInterface> typeMapping()
      指定者:
      typeMapping 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
    • dropTable

      public String dropTable(String schema, String tableName)
      指定者:
      dropTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
    • analyseClass

      @NonNull public @NonNull DorisTableMetadata analyseClass(Class<?> beanClass)
      指定者:
      analyseClass 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
    • createTable

      public List<String> createTable(DorisTableMetadata tableMetadata)
      指定者:
      createTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
    • compareTable

      @NonNull public @NonNull DorisCompareTableInfo compareTable(DorisTableMetadata tableMetadata)
      比较Doris表的结构信息 该方法用于对比一个给定的Doris表和一个临时表之间的结构差异,包括数据长度、创建表的SQL语句、列的信息等 主要用于检测表结构的变更,如添加、修改或删除列
      指定者:
      compareTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
      参数:
      tableMetadata - Doris表的元数据,包含表的基本信息如表名、schema等
      返回:
      返回一个DorisCompareTableInfo对象,其中包含了表结构比较的结果,如添加、修改、删除的列信息等
    • modifyTable

      public List<String> modifyTable(DorisCompareTableInfo compareTableInfo)
      根据比较结果修改Doris表结构 此方法用于根据新旧表信息对比结果来更新Doris中的表结构 它首先检查新表数据量是否超过预设阈值,如果超过则不进行更新 否则,将创建一个临时表来应用新的表结构,并在更新前选择性地备份旧表
      指定者:
      modifyTable 在接口中 org.dromara.autotable.core.strategy.IStrategy<DorisTableMetadata,DorisCompareTableInfo>
      参数:
      compareTableInfo - 包含新旧表信息及比较结果的对象
      返回:
      一个包含所有更新SQL语句的列表