我们可以将作者设置为liquibase中的db用户进行更新吗?

时间:2018-08-16 15:38:04

标签: liquibase author

在liquibase中,“作者”通常在变更集中硬编码。但是我们要将其设置为运行变更集的数据库用户。因此,我们将在开发人员中使用作者dev_schema,在生产中使用作者prod_schema,依此类推。 db用户是未知的,因此我们希望在运行时通过liquibase连接字符串的--username选项自动设置。

./liquibase.bat --driver=oracle.jdbc.OracleDriver --changeLogFile="changelog.xml" --url="jdbc:oracle:thin:@localhost:1521:xe" --username=dev_schema ...

在changeset标记中,我将属性author设置为${username},但是没有将其提取。

<changeSet author="${username}" ...

还尝试设置有效的环境变量,但是随后您必须两次设置相同的用户名。如果有人使用其他用户名,还存在由于校验和失败而导致liquibase无法执行的风险。

有可能吗?或者,可以吗?

1 个答案:

答案 0 :(得分:0)

我猜用户名是liquibase的系统参数,并且在changelog中不用于替换占位符。尝试指定诸如java param -Dusername=<your user>之类的参数,让我们看看会发生什么。