在 spring boot 项目中使用 hibernate 设置 hibernate.hbm2ddl.auto=update 时,在新的环境部署时会自动创建数据库表结构,但不会执行 data.sql 中的数据库初始语句。但使用 create,就会在第二次启动时清除数据库重新创建。
期待的结果 在 hibernate 中使用 hmb2ddl.auto=update 的同时,部署到新环境时自动初始化 data.sql 里面的语句插入一些初始数据

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