如何将命令行参数传递给liquibase.properties文件

问题描述 投票:0回答:1

我有一个文件 liquibase.properties 包含以下内容

driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath: ./sqljdbc4-2.0.jar
url: jdbc:sqlserver://localhost:1433;databaseName=staticDB
username: sa
password: admin@123
changeLogFile: myChangeLog.xml

我正在使用命令 liquibase update,这样数据库更改就会部署到 staticDB 数据库上

我想传递动态数据库名称以及 liquibase 更新命令,以便我可以在多个数据库上部署数据库更改

我已经更改了属性文件中的

url:
,如下所示

url: jdbc:sqlserver://localhost:1433;databaseName=${database}

我尝试过使用像

这样的命令
liquibase update -Ddatabase="Liquibase_Param"

但是我无法正确执行 liquibase 命令,因为出现以下错误

Unexpected error running Liquibase: com.microsoft.sqlserver.jdbc.SQLServerException: The connection string contains a badly formed name or value.

请告诉我如何在运行 liquibase update 命令时传递动态数据库名称

windows command-line-arguments liquibase properties-file liquibase-sql
1个回答
0
投票

properties
文件使用等于运算符
=
而不是冒号
:
来分配值:

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath=./sqljdbc4-2.0.jar
url=jdbc:sqlserver://localhost:1433;databaseName=staticDB
username=sa
password=admin@123
changeLogFile=myChangeLog.xml
© www.soinside.com 2019 - 2024. All rights reserved.