根据文档,按以下顺序查找参数值:
作为参数传递给您的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] 删除。
我来说两句