使用 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(使用前将#替换为@)