java - Spring Boot 2.2.5 - yaml 中的 spring.datasource.data 属性
问题描述
最近我们升级到spring boot 2.2.5 我们曾经使用属性spring.datasource.data在数据库“创建”或“更新”后加载SQL。
我们的 Yaml 看起来像这样:
--
spring:
profiles: default
application:
name:"EMBEDDED"
datasource:
url: "jdbc:postgresql://localhost/somedb"
driverClassName: org.postgresql.Driver
username: postgres
password: "some password"
data: "classpath*:data.sql"
jpa:
database: POSTGRESQL
show-sql: false
hibernate.ddl-auto: update
重要的部分是“spring.datasource.data”属性,我们用来定义更新数据库后休眠将运行的 SQL 文件的名称。
请注意,我们使用 hibernate.ddl-auto 来实现这一点。
现在我们已经升级了 Spring Boot,我们也开始使用 2 个数据源,如下所示:
spring:
profiles: dev
application:
name:"EMBEDDED-DEV"
datasource:
src1:
jdbcUrl: "jdbc:sqlserver://localhost;databaseName=DB1"
username: user
password: password
initializationFailTimeout: 0
data: "classpath*:data.sql"
src2:
jdbcUrl: "jdbc:sqlserver://localhost;databaseName=db2"
username: user
password: password
initializationFailTimeout: 0
data: "classpath*:data.sql"
jpa:
database-platform: org.hibernate.dialect.SQLServer2012Dialect
show-sql: false
hibernate.format_sql: true
hibernate.ddl-auto: update
如您所见,我们现在有 2 个数据源,但是当我尝试像以前那样添加“数据”属性时,我得到了这个异常:
java.lang.RuntimeException: Property data does not exist on target class com.zaxxer.hikari.HikariConfig
我现在应该把数据属性放在哪里才能让它工作?
解决方案
推荐阅读
- swift - AVAudioSourceNode 如何设置设置格式
- node.js - 在 ubuntu 18.04 上,与 postgres 的续集连接被拒绝
- linq - Xamarin Forms - 如何从 MergedDictionaries 中选择 C# 中的资源
- sql - 动态提取两个或三个文本空间
- python - 将 Python 中的字典解析为我当前的表
- ruby-on-rails - 获取至少一篇文章具有特定标签的所有类别
- vue.js - Vue:尝试在 Chrome 中获取地址状态的下拉列表以自动完成
- python - 用于 QR 分解的户主反射
- javascript - 为什么我的代码可以在一种环境中工作,而不能在另一种环境中工作?
- node.js - 如何将此代码生成的数据导出到 puppeteer 中的 CSV 文件?