spring-boot - 如何从密码 hashcorp vault 动态读取 liquibase.properties
问题描述
在我的 Spring Boot 项目中,我正在尝试设置 liquibase 并在开发、测试和生产数据库之间使用它。liquibase.properties
除了将凭据从 HashiCorp Vault传递到文件之外,一切似乎都运行良好。我可以 application.properties
毫无问题地访问凭据,但我不能liquibase.properties
存档。我有以下文件,我想从密码库动态传递 URL 和凭据。
liquibase.properties
changeLogFile=src/main/resources/liquibase-changeLog.xml
url=jdbc:mysql://localhost:3306/oauth_reddit
username=tutorialuser
password=tutorialmy5ql
driver=com.mysql.jdbc.Driver
referenceUrl=hibernate:spring:org.baeldung.persistence.model
?dialect=org.hibernate.dialect.MySQLDialect
diffChangeLogFile=src/main/resources/liquibase-diff-changeLog.xml
解决方案
liquibase.properties
由 liquibase 直接使用。我不确定 spring 是否以某种方式修改了liquibase.properties
,它可能仅由 maven 插件使用。所以你需要在 liquibase 中创建一些额外的解析器,它能够使用 Vault 或者只是忘记 liquibase.properties 并使用 spring 的属性。
推荐阅读
- tkinter - 出于某种原因,我不能使用 Tkinter 或 tkinter 模块。在 python shell 中运行以下命令后
- excel - 如何根据Excel中另一列中的特定数据将多个数据添加到一列?
- sockets - Microsoft Access VBA 代码无法从 TCP/IP 端口接收数据
- reactjs - How do I prevent component rerendering on browser resize?
- c++ - C++ 中的库需要什么?
- swift - 如何使用 URLSession 以 Multipart 表单数据发送音频文件?迅速
- git - 使用 git 将文件推送到 github 文件夹
- google-visualization - 如何解决“TypeError: dataView.setRowProperties is not a function at drawChart”错误
- python - Double and Float RuntimeError while training fasterrcnn_mobilenet
- c# - C# 8:通过属性为空状态静态分析指定属性值的可空性