在 spring boot 项目中使用 hibernate 设置 hibernate.hbm2ddl.auto=update 时,在新的环境部署时会自动创建数据库表结构,但不会执行 data.sql 中的数据库初始语句。但使用 create,就会在第二次启动时清除数据库重新创建。
期待的结果 在 hibernate 中使用 hmb2ddl.auto=update 的同时,部署到新环境时自动初始化 data.sql 里面的语句插入一些初始数据
1
wc951 2019-04-30 08:21:09 +08:00 via Android
springboot 官方文档拉到最下面数据库初始化部分自己看,hibernate 原生用的是 import.sql ,而且好像 update 是不会执行 sql 文件的
|
2
gongxufan 2019-04-30 14:37:48 +08:00
最好别依赖这个机制,现场清库的风险担不起
|
3
hantsy 2019-05-01 19:47:19 +08:00
开发时 Update 策略不错。
生产环境直接用 none, 配合 CI/CD 的话,用 Flyway (相当于 database 也版本控制了)更多一些。 |