小编use*_*365的帖子

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

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

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

所以在dev.properties中有例如

url.info=http://dev.app.info
Run Code Online (Sandbox Code Playgroud)

在tst.properties中有

url.info=http://tst.app.info
Run Code Online (Sandbox Code Playgroud)

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

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

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

- insert:
        tableName: result
        columns:
          - column:
              name: id
              value: a88b6708-5c9f-40c4-a3ca-41e7a6b57fc8
          - column:
              name: infoUrl
              value: ${url.info}
Run Code Online (Sandbox Code Playgroud)

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

是否需要对Yaml文件中的属性使用另一种表示法?或是否可以像使用xml文件一样在liquibase yaml文件中引用属性?

java properties liquibase spring-boot

1
推荐指数
1
解决办法
2991
查看次数

标签 统计

java ×1

liquibase ×1

properties ×1

spring-boot ×1