組み込みモードで H2 を使用して一連の単体テストを作成しました。テストが DB に加えた変更はすべてそこにとどまります。
空のインメモリ データベースを作成し、接続を開くときにスキーマを作成することをお勧めします。
しかし、私は別のアプローチを探しています。私はしたいと思います -
- 埋め込みデータベース ファイルを使用してインメモリ データベースを初期化します。
- または、接続が閉じられるとすぐにすべての変更が破棄されるように埋め込みデータベースを使用します。
どうすればこれを達成できますか?
組み込みモードで H2 を使用して一連の単体テストを作成しました。テストが DB に加えた変更はすべてそこにとどまります。
空のインメモリ データベースを作成し、接続を開くときにスキーマを作成することをお勧めします。
しかし、私は別のアプローチを探しています。私はしたいと思います -
どうすればこれを達成できますか?
このような場合に私が行うことは、データベースを作成してテーブルにデータを入力する SQL スクリプトを作成することです。次に、アプリケーションはFlyway DBを使用してデータベースの移行を適用します。
その他の可能性は、データベースを作成し、CSV ファイルからテーブルをロードすることです。もう 1 つは、別のアプリケーションでデータベースを作成し、SCRIPT コマンドでファイルを作成してバックアップを作成することです。データベースを復元するには、メイン アプリケーションで RUNSCRIPT コマンドを実行する必要があります。
テーブルやその他のオブジェクトを作成したりデータを入力したりする SQL スクリプトを使用し、これらのスクリプトをアプリケーションの開始時に実行します。
移入されたオンディスク DB のコピーを作成し、それを ZIP/JAR アーカイブにパッケージ化し、それを読み取り専用で開いて、インメモリ DB の再作成と移入に使用することもできます。