liquibase.properties中的Liquibase changelog参数

阿米特

根据文档,按以下顺序查找参数值:

作为参数传递给您的Liquibase运行程序(有关如何传递它们的信息,请参见Ant,command_line等文档)

作为JVM系统属性

在DatabaseChangeLog文件本身的参数块(标记)中。

我可以在标准属性文件中设置这些参数吗?

瑞安纽斯

可以将changelog参数放在liquibase.properties或自定义的--defaultsFile中。阅读源代码表明您必须在属性前面加上“参数”。

您的错误可能看起来像这样:

SEVERE 11/4/16 10:26 AM: liquibase: Unknown parameter: 'read_only_user'
liquibase.exception.CommandLineParsingException: Unknown parameter: 'read_only_user'
    at liquibase.integration.commandline.Main.parsePropertiesFile(Main.java:453)

示例liquibase.properties:

driver=oracle.jdbc.driver.OracleDriver
url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost)(PORT=1600))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=devdb)))"
username=scott
password=tiger
defaultSchemaName=app_admin
promptOnNonLocalDatabase=false
parameter.read_only_user=app_read

在变更集中使用参数:

<changeset author="Ryan" id="1">
  <sql>GRANT SELECT ON APP.SOME_TABLE TO ${read_only_user}</sql>
</changeset>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章