我试图从环境变量中获取一些参数到 liquibase_data.properties 中,这些参数读入我的更改日志文件,但没有取得太大成功。
以下是我的liquibase_data.properties文件:
db1.name=${DB1_HOSTNAME}
db2.name=${DB2_HOSTNAME}
变更日志文件:
<property name="db.properties" file="liquibase_data.properties"/>
<changeSet author="dmohanpuria (generated)" id="1710307015865-2">
<insert tableName="dext_datasource_detail">
<column name="dade_id" valueNumeric="1"/>
<column name="dade_client_id" valueNumeric="1"/>
<column name="**dade_source_url**" value=**"${db1.name}"**/>
<column name="dade_recovery_url"/>
<column name="dade_driver_class_name" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<column name="dade_dialect" value="MSSQL"/>
</insert>
</changeSet>
问题是 date_source_url 总是以文字值“${DB1_HOSTNAME}”返回,而不是在环境变量中传递的值。我需要这个的原因是因为这个数据库源网址随着环境的不同而变化。
如有任何帮助,我们将不胜感激,谢谢。
看起来类似于 liquibase.properties 文件中的自定义属性。 您还可以直接在变更日志中使用DB1_HOSTNAME,如下所示:
<column name="dade_source_url" value="${DB1_HOSTNAME }"/>
不需要将其传递给属性文件,直接使用即可。