配置
auto-table
auto-table 配置项前缀
🌰 举例:
auto-table:
enable: true
auto-table.enable=true
enable
- 类型:
Boolean
- 默认:
true
是否启用自动维护表功能。生产环境可以关闭该功能。
show-banner
- 类型:
Boolean
- 默认:
true
系统启动的时候是否显示 AutoTable 的 banner 图案。
mode
- 类型:Enum(
none
|validate
|add
|create
|update
) - 默认:
update
系统启动模式分为以下几种:
none:系统不做任何处理,与enable
设置为false
效果一致。
validate:系统启动时,会检查数据库中的表与 java 实体类是否匹配。如果不匹配,则启动失败。
create:系统启动时,会先将所有的表删除掉,然后根据 model 中配置的结构重新建表,该模式会清空原有数据。
update:系统启动时,会自动判断哪些表是新建的,哪些字段要新增修改,哪些索引/约束要新增删除等。
提示
update
模式不会删除字段(更改字段名称的情况下,会认为是新增字段),如果需要从数据库强制删除实体上不存在的字段,请参考 auto-drop-column 配置项。
model-package
- 类型:
String
- 默认:[Spring 启动类所在包路径]
model 包路径,多个路径可以用分号或者逗号隔开,框架会递归指定目录下的全部 java 对象。
自 ^1.7.0 开始支持类似 com.bz.**.entity
的配置方式。
index-prefix
- 类型:
String
- 默认:
auto_idx_
自定义的索引前缀,会自动追加到索引名称前面,如果想区分普通索引和唯一索引的区别,请在索引名称上自行区别,他们的前缀都是一样的。
例如,索引注解上配置的名字叫phone
,那么完整的索引名称为auto_idx_phone
,如果想标记为唯一索引,索引注解上配置的名字叫uni_phone
,那么完整的索引名称为auto_idx_uni_phone
auto-drop-column
- 类型:
Boolean
- 默认:
false
自动删除数据库中多余的列。如果配置为true
了,只要表中的列在实体上没有对应的字段,就删除该字段。
注意
谨慎开启,列删除后,列上的数据会发生丢失,无法找回
auto-drop-index
- 类型:
Boolean
- 默认:
true
自动删除数据库中多余的索引。如果配置为true
了,只要表上的索引在实体上没有声明,就删除该索引。
strict-extends ^1.8.4
- 类型:
Boolean
- 默认:
true
子类继承父类的字段的配置,是否开启严格继承的模式:只继承public、protected修饰的字段
super-insert-position ^1.3.0
- 类型:Enum(
before
|after
) - 默认:
after
建表的时候,父类的字段排序是在子类后面还是前面。默认为after,跟在子类的后面。
recordSql
记录表信息维护过程中执行的SQL
enable
开启记录sql日志
- 类型:
Boolean
- 默认:
false
recordType
记录方式,默认是数据库,可选文件(file)方式,但是需要额外指定folderPath
配置
- 类型:Enum(
db
|file
|custom
) - 默认:
db
version
当前SQL的版本,建议指定,会体现在数据库的字段或者文件名上
- 类型:
String
- 默认:
tableName
数据库记录方式下,表的名字
- 类型:
String
- 默认:
folderPath
文件记录方式下,必须设置该值。 记录到文件的目录(目录不存在的情况下会自动创建),sql文件名会自动按照内置规则创建
- 类型:
String
- 默认:
mysql
MySQL 相关的全局配置
table-default-charset
- 类型:
String
- 默认:
表的默认字符集
table-default-collation
- 类型:
String
- 默认:
表的默认排序规则
column-default-charset
- 类型:
String
- 默认:
列的默认字符集
column-default-collation
- 类型:
String
- 默认:
列的默认排序规则