0

我正在尝试在命令提示符下执行命令:

liquibase --driver=com.mysql.jdbc.Driver --classpath=E:\mysqljar\mysql.jar --changeLogFile=E:\1.xml --url="jdbc:mysql://localhost:3306/abc" --username=root --password=root generateChangeLog

但我收到此错误:

Liquibase 更新失败:空结果集,预计一行 SEVERE 24/9/13 下午 6:29:liquibase:空结果集,预计一行 liquibase.exception.DatabaseException:获取 jdbc:mysql://localhost:3306/abc 时出错在 liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readViews(JdbcDatabaseSnapshotGenerator.java:304) 在 liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readView(JdbcDatabaseSnapshotGenerator.java:168) 使用 liquibase.statement.core.GetViewDefinitionStatement@53330681 查看。 jvm.JdbcDatabaseSnapshotGenerator.createSnapshot(JdbcDatabaseSnapshotGenerator.java:241) 在 liquibase.snapshot.DatabaseSnapshotGeneratorFactory.createSnapshot(DatabaseSnapshotGeneratorFactory.java:69) 在 liquibase.diff.Diff.compare(Diff.java:63) 在 liquibase.integration。commandline.CommandLineUtils.doGenerateChangeLog(CommandLineUtils.java:145) at liquibase.integration.commandline.Main.doMigration(Main.java:760) at liquibase.integration.commandline.Main.main(Main.java:134) 原因:liquibase .exception.DatabaseException:空结果集,在 liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:159) 在 liquibase.executor.jvm 的 liquibase.util.JdbcUtils.requiredSingleResult(JdbcUtils.java:124) 中预期有一行.JdbcExecutor.queryForObject(JdbcExecutor.java:167) 在 liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:163) 在 liquibase.database.AbstractDatabase.getViewDefinition(AbstractDatabase.java:748) 在 liquibase.snapshot.jvm。 JdbcDatabaseSnapshotGenerator.readView(JdbcDatabaseSnapshotGenerator.java:166) ... 还有 7 个

谁能帮我解释一下?

4

2 回答 2

0

我有同样的问题。

我的解决方法:表中需要有一个条目database change log lock;它需要有id=1locked=false其余的值设置为null.

于 2018-08-13T13:01:57.227 回答
-1

我在使用 MySQL 时也遇到了同样的错误,并尝试了 liquibase 的 v3.0.0 和 3.0.5。当我尝试执行migrate以及generateChangeLog时,错误是相同的。

./liquibase --logLevel=debug --changeLogFile=./db.changelog-test-v0.1.xml --username=abc --password=abc99 --url="jdbc:mysql://localhost:3306/测试”迁移

仅供参考,这是它在执行“迁移”命令时遇到问题的选择语句:

从 information_schema.views 中选择 view_definition,其中 table_name='patient_info' 和 table_schema='test'

information_schema.views 表为空。

于 2013-09-30T15:43:42.590 回答