栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

初始化schema.sql脚本 spring boot 最新版本配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初始化schema.sql脚本 spring boot 最新版本配置

最近在使用springboot 初始化数据库脚本的时候,发现springboot 2.6.4版本中的 spring.datasource.schema 方法已经被弃用了。且程序无法正常初始化数据库.sql 脚本。

(spring.datasource.schema 该方法在springboot 2.5.X 的版本已经被弃用。)

那么最新的数据库初始化 yml/properties 配置是什么呢?

通过阅读源码发现 spring.datasource.schema 方法 被替换成了 spring.sql.init.schema-locations 方法;spring.datasource.initializationMode 方法 被替换成了 spring.sql.init.mode 方法。

所以我们把配置修改如下:

 这样程序就可以正常初始化.sql脚本了。

除了上面用到的配置属性之外,还有一些其他的配置,下面详细讲解一下作用。

spring.sql.init.enabled:是否启动初始化的开关,默认是true。如果不想执行初始化脚本,设置为false即可。通过-D的命令行参数会更容易控制。
spring.sql.init.username和spring.sql.init.password:配置执行初始化脚本的用户名与密码。这个非常有必要,因为安全管理要求,通常给业务应用分配的用户对一些建表删表等命令没有权限。这样就可以与datasource中的用户分开管理。
spring.sql.init.schema-locations:配置与schema变更相关的sql脚本,可配置多个(默认用;分割)
spring.sql.init.data-locations:用来配置与数据相关的sql脚本,可配置多个(默认用;分割)
spring.sql.init.encoding:配置脚本文件的编码
spring.sql.init.separator:配置多个sql文件的分隔符,默认是;
spring.sql.init.continue-on-error:如果执行脚本过程中碰到错误是否继续,默认是false`;所以,上面的例子第二次执行的时候会报错并启动失败,因为第一次执行的时候表已经存在。

另外提几个需要注意的点。

springboot 2.0.X 以上版本 配置schema 时,需带有

spring.datasource.initialization-mode 属性

springboot 2.3.X 中有的版本则必须配置

spring.datasource.driver-class-name 属性 ,schema.sql 才可被初始化。

而driver-class-name 属性在hakari连接数据库的时候其实不是必需属性。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750273.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号