我正在尝试在命令提示符下执行命令:
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 PM:liquibase:空结果集,预计一行 liquibase.exception.DatabaseException:使用liquibase.statement.core.GetViewDefinitionStatement@53330681获取jdbc:mysql:// localhost:3306 / abc视图时出错 at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readView(JdbcDatabaseSnapshotGenerator.java:168) at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readViews(JdbcDatabaseSnapshotGenerator.java:304) at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.createSnapshot(JdbcDatabaseSnapshotGenerator.java:241) at 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) 在liquibase.integration.commandline.Main.main(Main.java:134) 引起:liquibase.exception.DatabaseException:空结果集,预期一行 at liquibase.util.JdbcUtils.requiredSingleResult(JdbcUtils.java:124) at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:159) at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:167) at liquibase.executor.jvm.JdbcExecutor.queryForObject(JdbcExecutor.java:163) at liquibase.database.AbstractDatabase.getViewDefinition(AbstractDatabase.java:748) at liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator.readView(JdbcDatabaseSnapshotGenerator.java:166) ......还有7个
有人可以帮我解释一下吗?
答案 0 :(得分:0)
我遇到了同样的问题。
我的解决方法:
database change log lock
表中需要有一个条目;它需要具有id=1
,locked=false
和其余值设置为null
。
答案 1 :(得分:-1)
我也使用MySQL得到了同样的错误,并尝试了liquibase的v3.0.0和3.0.5。当我尝试执行迁移以及 generateChangeLog 时,错误是相同的。
./ liquibase --logLevel = debug --changeLogFile =。/ db.changelog-test-v0.1.xml --username = abc --password = abc99 --url =“jdbc:mysql:// localhost :3306 / test“迁移”
仅供参考,这是执行'migrate'命令时遇到问题的select语句:
从information_schema.views中选择view_definition,其中table_name ='patient_info'和table_schema ='test'
information_schema.views表为空。