Postgresql grails db迁移dbm更新命令失败
我在grails db migration 1.4.0插件中使用grails 2.4.2和postgresql。每当我发出grails dbm update命令时,就会出现以下异常,从而导致表创建失败:Postgresql grails db迁移dbm更新命令失败,postgresql,grails,grails-plugin,database-migration,Postgresql,Grails,Grails Plugin,Database Migration,我在grails db migration 1.4.0插件中使用grails 2.4.2和postgresql。每当我发出grails dbm update命令时,就会出现以下异常,从而导致表创建失败: Starting dbm-update for database user @ jdbc:postgresql://localhost:5432/mydb liquibase.exception.LockException: liquibase.exception.DatabaseExc
Starting dbm-update for database user @ jdbc:postgresql://localhost:5432/mydb
liquibase.exception.LockException: liquibase.exception.DatabaseException: Empty result set, expected one row
at liquibase.lockservice.LockService.acquireLock(LockService.java:121)
at liquibase.lockservice.LockService.waitForLock(LockService.java:61)
at liquibase.Liquibase.update(Liquibase.java:102)
at DbmUpdate$_run_closure1_closure2.doCall(DbmUpdate:26)
at DbmUpdate$_run_closure2_closure11.doCall(DbmUpdate:59)
at grails.plugin.databasemigration.MigrationUtils.executeInSession(MigrationUtils.groovy:133)
at DbmUpdate$_run_closure2.doCall(DbmUpdate:51)
at DbmUpdate$_run_closure1.doCall(DbmUpdate:25)
Caused by: liquibase.exception.DatabaseException: Empty result set, expected one row
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.lockservice.LockService.acquireLock(LockService.java:96)
... 7 more
任何帮助都将不胜感激。看来Liquibase没有正确初始化。检查表DatabaseChangeLogLock中是否有行我想我已经找到了答案。在发出命令之前,我曾经删除DATABASECHANGELOG和databasechangeloglock表,这导致了上述问题。有一次,我刚刚删除了DATABASECHANGELOG,使得DATABASECHANGELOGLOCK仍然包含一行,并且命令运行良好。无论如何,谢谢你的提示。