变更日志
2.1.3
- 💥 优化单元测试模块的逻辑,主类不添加@EnableAutoTable的情况下,可以单独使用@EnableAutoTableTest
2.1.2.1
- 💥 新增solon支持,感谢@chengliang4810
2.1.2 废弃
- 💥
新增solon支持,感谢@chengliang4810
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
- 🐛 bug修复:sqlite字段的增减导致的数据迁移错误 (#IB6JA6)[https://gitee.com/dromara/auto-table/issues/IB6JA6]
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
- 🐛 bug修复:优化pgsql的数据类型 (#IB65G4)[https://gitee.com/dromara/auto-table/issues/IB65G4]
- 🐛 bug修复:pgsql判断表是否存在,兼容分区的表 (#IB57RB)[https://gitee.com/dromara/auto-table/issues/IB57RB]
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的适配器,添加表注释与字段注释的自定义方法
- String getTableComment(Class<?> clazz)
- String getColumnComment(Field field, Class<?> clazz)
1.8.1
- 💥 表实体扫描字段规则改版:
- 忽略static、final描述的字段;
- 如果是父类中的字段,希望被子类继承用于自动建表,相关字段必须由public或protected修饰。
1.8.0
- 💥
@TableIndex
的name()
、fields()
改为非必填 - 💥 索引名称策略优化
- 优先使用 idx_
[表名]
_[字段名1]
_[字段名2]
- 若超长(63字符)了,使用 idx_
[表名]
_[所有字段名连接后的hash值]
注:长度定义63是兼容了pgsql的63字符以及mysql的64字符考虑的,Oracle暂无兼容计划,所以暂不考虑它的30字符长度
- 若仍超长了,使用 idx_
[表名+所有字段名连接后的hash值]
- 优先使用 idx_
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
- 缺失记录,待补充