当前位置: 首页 > 知识库问答 >
问题:

无法生成液化酶变更日志

皇甫喜
2023-03-14

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

liquibase——驱动程序=com.mysql。jdbc。驱动程序——classpath=E:\mysqljar\mysql。jar—changeLogFile=E:\1。xml-url=“jdbc:mysql://localhost:3306/abc“--用户名=根--密码=根generateChangeLog

但是我得到了这个错误:

Liquibase更新失败:空结果集,应为一行严重24/9/13下午6:29:Liquibase:空结果集,应为一行Liquibase。例外DatabaseException:获取jdbc时出错:mysql://localhost:3306/abc用liquibase查看。陈述果心GetViewDefinitionStatement@53330681在liquibase。快照jvm。JdbcDatabaseSnapshotGenerator。liquibase上的readView(JdbcDatabaseSnapshotGenerator.java:168)。快照jvm。JdbcDatabaseSnapshotGenerator。liquibase上的readViews(JdbcDatabaseSnapshotGenerator.java:304)。快照jvm。JdbcDatabaseSnapshotGenerator。在liquibase创建快照(JdbcDatabaseSnapshotGenerator.java:241)。快照数据库SnapshotGeneratorFactory。在liquibase创建Snapshot(DatabaseSnapshotGeneratorFactory.java:69)。diff.diff.compare(diff.java:63)在liquibase。整合。命令行。命令行工具。liquibase上的doGenerateChangeLog(CommandLineUtils.java:145)。整合。命令行。主要的liquibase的doMigration(Main.java:760)。整合。命令行。主要的main(main.java:134)由:液化酶引起。例外DatabaseException:结果集为空,liquibase处应为一行。util。JdbcUtils。liquibase上的requiredSingleResult(JdbcUtils.java:124)。遗嘱执行人。jvm。JDBC执行器。liquibase上的queryForObject(JdbcExecutor.java:159)。遗嘱执行人。jvm。JDBC执行器。liquibase上的queryForObject(JdbcExecutor.java:167)。遗嘱执行人。jvm。JDBC执行器。liquibase上的queryForObject(JdbcExecutor.java:163)。数据库抽象数据库。liquibase上的getViewDefinition(AbstractDatabase.java:748)。快照jvm。JdbcDatabaseSnapshotGenerator。readView(JdbcDatabaseSnapshotGenerator.java:166)。。。7个以上

有人能帮我解释一下吗?


共有2个答案

阎祖鹤
2023-03-14

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

./liquibase--logLevel=debug--change eLogFile=./db.changelog-test-v0.1.xml--username=abc--word=abc99--url="jdbc:mysql://localhost:3306/test"迁移

仅供参考,以下是为“migrate”命令执行时遇到问题的select语句:

从information\u schema中选择view\u definition。视图,其中table\u name='patient\u info'和table\u schema='test'

信息模式。视图表为空。

云航
2023-03-14

我也有同样的问题。

我的解决方案:数据库更改日志锁表中需要有一个条目;它需要将id=1、locked=false以及其余值设置为null。

 类似资料:
  • 如果要使用相同的变量但值不同,如何替换下一个更改集的标记值。实例 这个例子只适用于第一次和第二次 设置或运行Liquibase时出错:Liquibase。例外设置例外:液化。例外SetupException:分析/patches/translate\me的第150行第67列时出错。xml:cvc复杂类型。2.4.a: 发现以元素“property”开头的内容无效。“{”之一http://www.l

  • 现在,我想让Liquibase从这个数据库“testing”生成一个changelog。有可能吗? 这是我的命令,但不管用。 我不使用任何密码。

  • 难道没有任何工具或命令行可以自动创建changelog文件吗?我使用的JHipster可以正确地为新实体创建changelogs,但正如这里所说的,JHipster不会为更新的实体生成新的changelogs,所以我想知道它们是否是生成额外changelogs的工具?实际上,我是通过手工编写xml文件来创建changelogs,这似乎并不是非常高效。 谢谢你的阅读。

  • 如何使jooq自动生成器使用liquibase脚本运行,然后在Spring启动时迁移liquibase,而不是mvn干净编译? 我希望 jooq 自动生成器在 liquibase 模式上运行,然后我希望 liquibase 迁移在 spring 启动启动时运行,但目前它在运行 mvn 干净编译时运行。我希望像“获取的更改锁”这样的日志在应用程序启动后出现,而不是在 mvn 干净编译时出现。 这是p

  • 我问是因为我试过了,但失败了。问题似乎是liquibase需要关于它运行的主机的信息来锁定并写入DATABASECHANGELOG。 因此,当我在ECS Fargate集群中启动spring boot应用程序时,我看到: 有什么办法可以解决这个问题吗?或者我必须下注并使用AWS ECS EC2吗?通常我会通过检查我的/etc/主机来解决这个问题,以确保其中定义了一个localhost。但我不知道我

  • 给定目标金额和硬币面额列表,我的代码应该找到达到目标金额所需的最少硬币。 示例: > 我们可以从3x253x1做78,所以需要6个硬币 48=2x24,因此2枚硬币就足够了 我们可以从2x161x3中得到35,所以3个硬币就足够了 我用for循环编写了代码,但如何使其递归?