私はこの奇妙な問題を抱えています。いくつかのデータベースの変更履歴ファイルがないGrailsアプリケーションがあります。したがって、データベースはドメインクラスと同期しなくなりました。私はドメインクラスのいくつかの変更を行った。データベース移行プラグインを実行しようとすると、現在のドメインクラスとデータベースとの差分が作成され、既に実行されているすべてのSQLコマンドを実行しようとしています。Grailsではドメインクラスとデータベースが同期していません
この問題の解決策はありますか?
私はこの奇妙な問題を抱えています。いくつかのデータベースの変更履歴ファイルがないGrailsアプリケーションがあります。したがって、データベースはドメインクラスと同期しなくなりました。私はドメインクラスのいくつかの変更を行った。データベース移行プラグインを実行しようとすると、現在のドメインクラスとデータベースとの差分が作成され、既に実行されているすべてのSQLコマンドを実行しようとしています。Grailsではドメインクラスとデータベースが同期していません
この問題の解決策はありますか?
私が問題を正しく理解していれば、失われたすべての変更履歴をdbm-generate-changelog
で再作成できます。これにより、現在のデータモデルに基づいて変更ログが作成されます。 dbm-changelog-sync
を使用して、これらの変更履歴をEXECUTED(DATABASECHANGELOG表に移入する)としてマークすることができます。 DATABASECHANGELOGテーブルが現在のデータモデルと同期したら、dbm-gorm-diff
を使用して、他のデータモデルの変更がないことを確認できます。
注:私の答えは、あなたがGrailsの2.xおよびデータベース移行プラグイン1.4.xのを使用していると仮定し、私はプロセスがデータベース移行プラグイン2.xまたはとGrailsの3.xでは似ていると信じて3.x。