使用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文件中引用属性?