2017-01-25 15 views
1

私はこの奇妙な問題を抱えています。いくつかのデータベースの変更履歴ファイルがないGrailsアプリケーションがあります。したがって、データベースはドメインクラスと同期しなくなりました。私はドメインクラスのいくつかの変更を行った。データベース移行プラグインを実行しようとすると、現在のドメインクラスとデータベースとの差分が作成され、既に実行されているすべてのSQLコマンドを実行しようとしています。Grailsではドメインクラスとデータベースが同期していません

この問題の解決策はありますか?

答えて

2

私が問題を正しく理解していれば、失われたすべての変更履歴をdbm-generate-changelogで再作成できます。これにより、現在のデータモデルに基づいて変更ログが作成されます。 dbm-changelog-syncを使用して、これらの変更履歴をEXECUTED(DATABASECHANGELOG表に移入する)としてマークすることができます。 DATABASECHANGELOGテーブルが現在のデータモデルと同期したら、dbm-gorm-diffを使用して、他のデータモデルの変更がないことを確認できます。

https://grails-plugins.github.io/grails-database-migration/1.4.0/ref/Maintenance%20Scripts/dbm-changelog-sync.html

注:私の答えは、あなたがGrailsの2.xおよびデータベース移行プラグイン1.4.xのを使用していると仮定し、私はプロセスがデータベース移行プラグイン2.xまたはとGrailsの3.xでは似ていると信じて3.x。

関連する問題