Почему я получаю ошибку UserName при запуске команды DIFF в liquibase? - PullRequest
0 голосов
/ 26 июня 2019

Пытаясь запустить команду 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 голосов
/ 26 июня 2019

Я подозреваю, что ошибка разбора bash.Попробуйте заключить либо URL-адреса в кавычки, либо весь аргумент --url=<connectstring> в кавычки.

Другой вариант - поместить параметры в файл liquibase.properties, чтобы вам не приходилось указывать их в командной строке.Вы даже можете настроить разные файлы свойств и указать --defaultsFile=</path/to/file>, чтобы использовать разные файлы для разных сред.Если вы не укажете эту опцию, liquibase будет искать файл с именем liquibase.properties

...