如何使用 spring boot 和 Liquibase 变更集 yaml 文件访问系统属性

2023-11-21

使用 Liquibase 管理数据库架构更改的 Spring Boot Java 应用程序是通过指定其运行环境的参数(例如 dev、int)启动的。

有相应的属性文件(例如 dev.properties、int.properties),它们定义相应环境的属性。

所以在 dev.properties 中有例如

url.info=http://dev.app.info

在 tst.properties 中有

url.info=http://tst.app.info

应用程序从与传入参数对应的文件中读取属性。

当应用程序在每个环境中部署和启动时,此机制可以正常工作。使用相应属性的情况有很多。

但是,它不适用于包含以下插入语句的 Liquibase yaml 变更集

- insert:
        tableName: result
        columns:
          - column:
              name: id
              value: a88b6708-5c9f-40c4-a3ca-41e7a6b57fc8
          - column:
              name: infoUrl
              value: ${url.info}

我在 yaml 文件中尝试过双引号和单引号,即“${url.info}”和“${url.info}”,但数据库始终以字符串 ${url.info} 结尾

yaml 文件中的属性是否必须使用另一种表示法? 或者 liquibase yaml 文件中的属性不能像 xml 文件那样引用吗?


当您使用 Spring Boot 时,您可以使用它的application.properties文件来定义更改日志参数.

名称以以下开头的任何属性liquibase.parameters.可以在变更日志中引用。例如,该物业liquibase.parameters.url.info可以引用为${url.info}在您的变更日志(YAML 或 XML)中。

要为开发、QA、生产等使用不同的配置文件,您可以使用配置文件和特定于配置文件的配置文件。例如,application-dev.properties文件只会在以下情况下被加载dev个人资料处于活动状态。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 spring boot 和 Liquibase 变更集 yaml 文件访问系统属性 的相关文章

随机推荐