首页 > 解决方案 > liquibase 通过 maven 调用,无法设置自定义属性

问题描述

我的 liquibase 文件具有以下 sql 元素:

<sql splitStatements="false">
  GRANT insert,select,update,delete ON ${database.defaultSchemaName}.someTable TO ${db.appUser}
</sql>

如果我像这样调用 Maven:

mvn liquibase:update -Ddb.appUser=VALUE

有用。但是如果我想在 pom.xml 中的某个地方指定它呢?假设一些开发人员配置文件,让我从一遍又一遍地设置变量中解脱出来,并且能够像这样构建:

mvn -Pdevel liquibase:update 

我试图在 Maven 属性中设置它,但它没有在那里被选中。那么我们如何在 maven 中设置属性以在 liquibase 脚本中替换呢?

标签: liquibase

解决方案


最终找到它:

必须将 Maven 属性桥接到“系统属性”中,可以这样做:

<systemProperties>
  <db.appUser>${mavenVariable}</db.appUser>
</systemProperties>

或者只是提供文字而不是 Maven 变量。


推荐阅读