Database 在圣杯中液化:“;结果集为空,应为一行”;
我更改了Grails域类并运行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 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表(然后将重新创建)