我正在尝试使用CLI运行liquibase update命令,并得到以下错误。我尝试使用3.8.0和3.7.0版的Liquibase。
Unexpected error running Liquibase: Cannot find parser that supports /path/to/ChangeLog.yaml
liquibase.exception.UnknownChangelogFormatException: Cannot find parser that supports classpath:/path/to/ChangeLog.yaml
at liquibase.parser.ChangeLogParserFactory.getParser(ChangeLogParserFactory.java:73) ~[liquibase.jar:na]
at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:216) ~[liquibase.jar:na]
at liquibase.Liquibase.update(Liquibase.java:190) ~[liquibase.jar:na]
at liquibase.Liquibase.update(Liquibase.java:179) ~[liquibase.jar:na]
at liquibase.integration.commandline.Main.doMigration(Main.java:1223) [liquibase.jar:na]
at liquibase.integration.commandline.Main.run(Main.java:209) [liquibase.jar:na]
at liquibase.integration.commandline.Main.main(Main.java:132) [liquibase.jar:na]
我尝试的命令如下:
./liquibase \
--driver=com.mysql.jdbc.Driver \
--changeLogFile=classpath:/path/to/ChangeLog.yaml \
--url="jdbc:mysql://localhost/mydb" \
--username=user \
--password=pass \
update
MySQL和SnakeYaml库位于lib目录(如YAML Format中所述)和类路径中。 XML格式的更改日志按预期工作。您能否建议如何正确使用YAML格式的变更集?
谢谢
答案 0 :(得分:0)
我也遇到了这个问题。
请尝试对我有帮助的解决方案:
snakeyaml-1.12.jar
移至jre/lib/ext
。 Liquibase.properties
changeLogFile: path/to/ChangeLog.yaml
行。