Database 在圣杯中液化:“;结果集为空,应为一行”;

Database 在圣杯中液化:“;结果集为空,应为一行”;,database,grails,migration,database-migration,liquibase,Database,Grails,Migration,Database Migration,Liquibase,我更改了Grails域类并运行 grails db gorm diff 2012-11-20-domain-class-change.groovy——添加(显然是另一个名称) 并且从Liquibase获得“更改锁”错误: 执行引导时出错:liquibase.exception.LockException:无法获取更改日志锁。当前被computer-name.local[…]锁定 因此(看起来很愚蠢)按照中的建议,我删除了更改日志锁表中的行: mysql>从数据库中删除changeloglock

我更改了Grails域类并运行

grails db gorm diff 2012-11-20-domain-class-change.groovy——添加
(显然是另一个名称)

并且从Liquibase获得“更改锁”错误:

执行引导时出错:liquibase.exception.LockException:无法获取更改日志锁。当前被computer-name.local[…]锁定

因此(看起来很愚蠢)按照中的建议,我删除了更改日志锁表中的行:

mysql>从数据库中删除changeloglock

现在得到这个美丽的液化错误:

执行引导时出错:liquibase.exception.DatabaseException:结果集为空,应为一行

这清楚地告诉我,改变这一点太晚了,我不应该从表中删除这一行


我现在能做些什么呢?

我在与液化相关的地方又找了一些,现在我知道我可以简单地在启动时重新创建它。这似乎已经奏效了。

插件中有一个用于此的脚本-使用看看。您只需要将“locked”行设置为1或完全删除databasechangelock表(然后将重新创建)