Liquibase.properties 读取环境变量

6

我正在使用命令行通过liquibase进行操作,不知道如何设置liquibase.properties文件以读取环境变量?

类似于:

***liquibase.properties***

    driver=org.postgresql.Driver
    classpath=lib/postgresql-42.2.5.jar 

    url=${DATASOURCE_URL}
    username=${DATASOURCE_USERNAME} 
    password=${DATASOURCE_PASSWORD}

    changeLogFile=changelogs/master.yaml
2个回答

2

目前无法在liquibase.properties文件中使用环境变量。这必须在源代码中实现,因为Java默认不会识别它们。有关详细信息,请参见https://dev59.com/Q3E95IYBdhLWcg3wi-ie#2263944

我曾经遇到类似的问题,尝试从Bitwarden vault中读取数据库凭据。最终我使用批处理文件中的变量(我使用的是Windows),调用Liquibase,这对我有效。


0

这里有关于Liquibase属性的信息。然而,如果你想使用自己的属性,你可以将其放在属性文件中parameter.property1,然后在你的changelog中使用${property1}作为占位符。


链接现在为404。 - xenoterracide
我认为该页面已经移动到此处:https://docs.liquibase.com/workflows/liquibase-community/creating-config-properties.html - seeafish
@bilak,你能举个例子说明两者应该如何呈现吗? - StealthRT
liquibase.properties 中的属性仅由 Maven 插件加载 :( - bilak
嗯,看起来它应该可以从命令行工作,所以只需创建一些带有示例的存储库,如果需要,我可以帮助您。 - bilak
感谢您的回复@bilak。请查看此链接https://stackoverflow.com/questions/64471150/different-paramaters-in-one-liquibase-properties-file-possible - StealthRT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接