首页 > 解决方案 > 如何从密码 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

标签: spring-bootliquibaseliquibase-hibernatespring-cloud-vault-config

解决方案


liquibase.properties由 liquibase 直接使用。我不确定 spring 是否以某种方式修改了liquibase.properties,它可能仅由 maven 插件使用。所以你需要在 liquibase 中创建一些额外的解析器,它能够使用 Vault 或者只是忘记 liquibase.properties 并使用 spring 的属性。


推荐阅读