開発環境がメモリ内 H2 データベースを使用する Grails プロジェクトがあります。
dataSource {
dbCreate = "create"
url = "jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
(run-app を使用して) アプリを実行し、データベースにいくつかのものを入れることができます (例: scaffolded コントローラーを使用)。ここで、ソース ファイルに変更を加えると、Grails が変更を検出し、クラスを再コンパイルして、データベースをクリアします。
JDBC URL のfile
代わりに使用しようとしましたが、動作は同じです。mem
これを回避する唯一の方法はの代わりにに設定dbCreate
することですが、アプリケーションの にフィクスチャをロードするため、これも私が望むものではありません。そのため、アプリケーションを再起動すると、フィクスチャの複数のコピーが作成されます。"update"
"create"
BootStrap
問題は、クラスを再コンパイルするときに Grails がデータベースを再作成しないようにするにはどうすればよいか、または、データベースをクリアするたびにフィクスチャをリロードしないようにするにはどうすればよいかということです。