4

Grailsドメインクラスに変更を加えて実行しました

grails db-gorm-diff 2012-11-20-domain-class-change.groovy --add(明らかにそこに別の名前があります)

Liquibaseから「ロックの変更」エラーが発生していました。

Error executing bootstraps: liquibase.exception.LockException: Could not acquire change log lock. Currently locked by computer-name.local […]

それで(愚かなことに)Autobaseプラグインで同様の問題を扱っている古いスレッドのアドバイスに従って、変更ログロックテーブルの行を削除しました:

mysql> delete from DATABASECHANGELOGLOCK;

そして今、この美しいLiquibaseエラーが発生します:

Error executing bootstraps: liquibase.exception.DatabaseException: Empty result set, expected one row

これは、これを変更するには遅すぎて、テーブルからその行を削除するべきではなかったことを明確に示しています。

これについて今何ができますか?

4

3 に答える 3

4

プラグインにはこのためのスクリプトがあります-http: //grails-plugins.github.com/grails-database-migration/docs/manual/ref/Maintenance%20Scripts/dbm-release-locks.htmlを使用してください

于 2012-11-21T00:16:05.940 に答える
3

Liquibaseに関連する一般的な場所をさらに掘り下げて、テーブルを完全に削除して、起動時に再作成できることを学びました。これはうまくいったようです。

于 2012-11-21T00:11:51.380 に答える
2

http://forum.liquibase.org/topic/message-regarding-an-empty-result-set-for-databasechangeloglockを見てください。'locked'行を1に設定するか、databasechangelockテーブルを完全に削除する必要があります(その後再作成されます)

于 2013-12-18T18:20:13.953 に答える