Class NutzDatabaseInitializer
java.lang.Object
tech.riemann.nif.nutz.dao.NutzDatabaseInitializer
@AutoConfiguration
@ConditionalOnBean(org.nutz.dao.Dao.class)
@ConditionalOnExpression("${nif.nutz.dao.enabled:true}")
@EnableConfigurationProperties(NutzDaoAutoConfigurationProperties.class)
@AutoConfigureAfter(NutzDaoAutoConfiguration.class)
public class NutzDatabaseInitializer
extends Object
Nutz数据库初始化器,用于在Spring Boot应用启动时自动创建表结构和执行数据库迁移操作。
该类通过读取配置属性来控制表的创建、字段检查、列名格式化等行为。
- Author:
- kerbores(kerbores@gmail.com)
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
NutzDatabaseInitializer
public NutzDatabaseInitializer()
-
-
Method Details
-
create
@PostConstruct public void create()在Spring容器初始化完成后执行数据库表的创建和迁移操作。 根据配置属性决定是否创建表、执行迁移,并设置全局的DAO行为参数。 遍历指定的基础包路径,对每个包执行相应的表操作。H16: 建表/迁移默认关闭(安全默认)——启动时打印实际将执行的动作清单; 仅当 create 或 migration 显式开启时才执行 DDL
低级(多应用共享 JVM 注意): Daos.CHECK_COLUMN_NAME_KEYWORD 等为 nutz 库进程级静态全局字段, 同一 JVM 部署多个应用(嵌入式容器)时会互相污染——各应用启动时会用自身配置覆盖这些全局值, 无法隔离;单应用部署无影响
-