我正在尝试使用以下参数(默认参数,只是修改路径)运行 liquibase:
liquibase --driver=com.mysql.jdbc.Driver \
--classpath=mysql-connector-java-5.1.20-bin.jar
--changeLogFile=changelog.xml \
--url="jdbc:mysql://localhost/example" \
--username=root \
migrate
changelog.xml 非常小:
<?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
</databaseChangeLog>
我得到的错误是:
Liquibase 更新失败:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '????????????????' 附近使用正确的语法 在第 1 行 SEVERE 6/5/12 上午 2:42:liquibase:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '????????????????' 附近使用正确的语法 在第 1 行 liquibase.exception.DatabaseException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '????????????????' 附近使用正确的语法 在 liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:111) 的第 1 行 liquibase.integration.commandline.Main.doMigration(Main.java:
在 liquibase.integration.commandline.Main.main(Main.java:134) 引起:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '????????????????' 附近使用正确的语法 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096) 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO. java:4028) 在 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490) 在 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651) 在 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl .java:2677) 在 com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1943) 在 com.mysql.jdbc.ConnectionImpl。
在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305) 在 liquibase.integration.commandline.CommandLineUtils.createDatabaseObject(CommandLineUtils.java:101) ...2 更多
不知道是什么原因造成的。我正在运行 liquibase 2.0.5。
谢谢。