当前位置:  开发笔记 > 编程语言 > 正文

如何使用Spring Boot和Liquibase Changeset Yaml文件访问系统属性

如何解决《如何使用SpringBoot和LiquibaseChangesetYaml文件访问系统属性》经验,为你挑选了1个好方法。

使用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文件中的属性使用另一种表示法?或是否可以像使用xml文件一样在liquibase yaml文件中引用属性?



1> Andy Wilkins..:

使用Spring Boot时,可以使用其application.properties文件来定义更改日志参数。

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

要将不同的配置文件用于开发,质量检查,生产等,可以使用配置文件和特定于配置文件的配置文件。例如,application-dev.properties仅在dev配置文件处于活动状态时才加载文件。

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有