liquibase.properties中的Liquibase changelog参数

Ami*_*mit 6 liquibase

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

作为参数传递给您的Liquibase运行器(请参阅Ant,command_line等文档,了解如何传递它们)

作为JVM系统属性

在DatabaseChangeLog文件本身的参数块(Tag)中.

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

rya*_*hos 7

可以将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)
Run Code Online (Sandbox Code Playgroud)

示例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
Run Code Online (Sandbox Code Playgroud)

使用变更集中的参数:

<changeset author="Ryan" id="1">
  <sql>GRANT SELECT ON APP.SOME_TABLE TO ${read_only_user}</sql>
</changeset>
Run Code Online (Sandbox Code Playgroud)