Skip to content

变更日志

2.1.3

  • 💥 优化单元测试模块的逻辑,主类不添加@EnableAutoTable的情况下,可以单独使用@EnableAutoTableTest

2.1.2.1

2.1.2 废弃

2.1.1

  • 🐸 新增AutoTableReadyCallback回调接口,发生于AutoTable配置初始化完成尚未执行逻辑之前
  • 🏝️ 优化了部分代码

2.1.0.2

  • 🐸 优化表是否存在的判断方式,忽略大小写,以兼容H2等数据库的特性
  • 🐛 修复了H2数据库的部分类型
  • 🚨 取消了2.1.0对H2数据库的双引号包裹表名、列名、索引名的操作
  • 🏝️ 优化了部分代码

2.1.0.1

  • 🐛 bug修复:修复一个Mysql下的字符串类型长度错误的bug

2.1.0

  • 💥 索引新增method属性
  • 🐛 bug修复:注释中的单引号,索引名称中的双引号 引发的sql语句错误问题
  • 🚨 优化H2数据的建表方式,使用双引号包裹表名、列名、索引名,保证实体与数据库名称一致
  • 🐛 bug修复:pgsql在update模式中,索引更新异常
  • 🚑 增加了部分单元测试
  • 🏝️ 优化了部分其他代码

2.0.2

2.0.1.1

  • 🐛 bug修复:2.0.1新增加的modelClass未配置引发的空指针

2.0.1

  • 🐛 bug修复:优化pgsql的数据类型 (#IB65G4)[https://gitee.com/dromara/auto-table/issues/IB65G4]
  • 🐛 bug修复:pgsql判断表是否存在,兼容分区的表 (#IB57RB)[https://gitee.com/dromara/auto-table/issues/IB57RB]
  • 🐸 @PrimaryKey的value属性修改为autoIncrement,消除歧义
  • 🐙 增加auto-table.modelClass配置项,可以指定具体的实体,执行表结构自动维护
  • 🐳 @AutoTable增加classes属性,等同于auto-table.modelClass,但是优先级更高
  • 🐉 优化了pgsql建表语句字段的自增描述方式(serial改为了GENERATED ALWAYS AS IDENTITY)

2.0.0

(2.*.*版本开始,包名和groupId均改为org.dromara)

  • 🚨 更改基础包名com.tangzc为org.dromara,groupId由com.tangzc改为org.dromara.autotable
  • 💥 功能等同于版本1.9.7

1.9.8

1.9.7

  • 💥 新增AutoTableFinishCallback回调接口,实现AutoTable执行完成后的回调

1.9.6.1

  • 🐛 hotfix: 修复@EnableAutoTable@EnableAutoTableTest新增属性basePackages不生效的bug

1.9.6

  • 🐛 修复pgsql数据库类型varchar,不指定长度的情况下,一直更新字段的类型的bug
  • 🐛 修复sqlite数据库设置时间函数默认值失败的bug
  • 🔥 @EnableAutoTable@EnableAutoTableTest增加basePackage属性,优先级高于配置文件
  • 🐸 改变AutoTable的启动方式,从监听ContextRefreshedEvent事件改为实现CommandLineRunner接口
  • 🎨 多处代码优化

1.9.5

  • 🐛 修复pgsql数据库的列元数据查询条件不准确的隐患
  • 🔥 增加了spring的单元测试注解 @EnableAutoTableTest

1.9.4

  • 🐛 修复bug:sql记录到数据库的时候,其他库有记录表,但是当前库没有记录表的情况下,当前库不创建记录表的问题
  • 🐛 修复bug:java9以上,父类存在泛型,报错
  • 🎄 日志打印优化

1.9.3.1

  • 🐛 修复父类存在多级泛型的类型获取异常问题(该bug由v1.9.3引发)

1.9.3

  • 🪳 删除过期注解@TableName TableComment
  • 🐛 bug修复:父类字段类型是泛型,无法准确获取字段类型

1.9.2

  • 🐛 修复1.9.1引起的bug:pgsql主键索引异常删除
  • 💥 增补了部分注释

1.9.1

  • 🚨 优化pgsql的索引逻辑,旧逻辑在处理(尤其是删除)索引的时候,不包括非auto_idx前缀的索引,新逻辑包含了全部的索引
  • 💥 新增注解@MysqlColumnUnsigned,指定MySQL数字类型不允许负数,其范围从 0 开始
  • 💥 新增注解@MysqlColumnZerofill,指定MySQL数字类型在固定长度不足的情况下,进行前置补0

1.9.0

  • 🔥 新增H2数据库的支持
  • 🎄 优化sql记录模块的逻辑,更方便拓展

1.8.4

  • 🐛 修复自1.8.3引入的strictExtends配置项,不生效的bug

1.8.3 废弃

  • 💥 添加新的配置项strictExtends ,子类继承父类的字段的配置,表示是否开启严格继承的模式(只继承public、protected修饰的字段)

1.8.2

  • 💥 优化orm的适配器,添加表注释与字段注释的自定义方法
    1. String getTableComment(Class<?> clazz)
    2. String getColumnComment(Field field, Class<?> clazz)

1.8.1

  • 💥 表实体扫描字段规则改版:
    1. 忽略static、final描述的字段;
    2. 如果是父类中的字段,希望被子类继承用于自动建表,相关字段必须由public或protected修饰。

1.8.0

  • 💥 @TableIndexname()fields()改为非必填
  • 💥 索引名称策略优化
    1. 优先使用 idx_[表名]_[字段名1]_[字段名2]
    2. 若超长(63字符)了,使用 idx_[表名]_[所有字段名连接后的hash值]

      注:长度定义63是兼容了pgsql的63字符以及mysql的64字符考虑的,Oracle暂无兼容计划,所以暂不考虑它的30字符长度

    3. 若仍超长了,使用 idx_[表名+所有字段名连接后的hash值]

1.7.5

  • 🐛 修复自定义配置实体路径读取不到class的bug,感谢@wujin00
  • 💥 添加@AutoColumn注解支持一个注解配置所有@Column*的方式

1.7.4

  • 🐛 修复表注释不断被更新的bug,感谢@mxyyyy

1.7.3

  • 🐛 修复1.7.0版本引发的bug,pgsql在update模式下查询表元数据信息重复的问题

1.7.2

  • 🐛 修复pgsql在同一个数据源不同schema,同名表的错误提示bug

1.7.1

  • 💥 向ORM开放schema的自定义获取方式
  • 🔥 优化orm适配接口的策略,将默认实现逻辑移入到框架内部,getEnumValues、customFieldTypeHandler增加程序兜底逻辑,getTableName、getTableSchema、getRealColumnName提升默认逻辑的权重,isIgnoreField、isPrimary、isAutoIncrement添加默认实现return false。

1.7.0

  • 🚨 @TableName@TableComment标记过期;
  • 🎉 新增@AutoTable,包含了@TableName@TableComment的能力,同时增加了schema属性,支持schema配置;
  • 🚨 @TableIndexes@TableIndex@MysqlEngine@MysqlCharset 不再具备激活表自动维护的能力,仅有@AutoTable注解具备激活表自动维护的能力;
  • 🎨 sql记录变动,文件记录方式,文件名添加schema标识(如果有的话),数据库记录方式,添加tableSchema字段;
  • 💥 pgsql数据库策略优化,增加了对schema的支持
  • 🚨 pgsql数据库策略中取消了在表名、字段名、索引名上添加双引号
  • 🐛 修复包扫描不支持*** 的匹配bug, 感谢@wujin00

1.6.4

  • 🚨 优化pom中依赖,取消三方框架的传递,减少jar包冲突问题

1.6.0

  • 📝 代码规注释优化

0.0.1 - 1.6.0

  • 缺失记录,待补充

Last updated: