在liquibase中运行DIFF命令时,为什么会出现UserName错误?

时间:2019-06-26 12:36:07

标签: liquibase

尝试运行Diff命令,我相当确定我的命令是正确的,但是每次运行时,都会收到“ --userName = Root:找不到命令”错误。没有任何执行。请参阅下面的命令和结果。还有什么想法为什么呢?请注意,为了方便阅读,我在命令行中添加了换行符,当我输入命令时,它们都在一行中。

liquibase 
--driver=com.mysql.cj.jdbc.Driver 
--url=jdbc:mysql://localhost/dev?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 
--userName=root 
--password=SomePassword 
--logLevel=debug diff 
--referenceUrl=jdbc:mysql://localhost/Prod?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC 
--referenceUsername=root 
--referencePassword=SomePassword
[1] 5437
[2] 5438
[3] 5439
[4] 5440
[5] 5441
[6] 5442
-bash: --userName=root: command not found
-bash: --referenceUsername=root: command not found
[2]   Done                    useJDBCCompliantTimezoneShift=true
[3]   Done                    useLegacyDatetimeCode=false
[5]-  Done                    useJDBCCompliantTimezoneShift=true
[6]+  Done                    useLegacyDatetimeCode=false
[4]+  Exit 127                serverTimezone=UTC --userName=root --password=SomePassword --logLevel=debug diff --referenceUrl=jdbc:mysql://localhost/Prod?useUnicode=true
macbook:~ name$ Starting Liquibase at Wed, 26 Jun 2019 07:22:10 CDT (version 3.6.3 built at 2019-01-29 11:34:48)
Errors:
  No command was passed.

1 个答案:

答案 0 :(得分:0)

我怀疑bash解析错误。尝试将网址括在引号中,或将整个--url=<connectstring>参数括在引号中。

另一种选择是将参数放入liquibase.properties文件中,因此您不必在命令行上指定它们。您甚至可以设置不同的属性文件,并指定--defaultsFile=</path/to/file>以将不同的文件用于不同的环境。如果不指定该选项,liquibase将查找名为liquibase.properties

的文件。