3

私はしばらくの間liquibase1.9.5を使用していて、テーブルを作成してフィクスチャをロードする休止状態のhbm2ddl戦略に取って代わりました。これはMavenプロジェクトであり、hsqldbを使用しているため(ファイルcreate = trueを使用)、アプリケーションをテストするたびに新しいデータベースを使用できるように、ターゲットフォルダーにdbを作成するだけです。私が気付くまでは問題なく動作します:

1 mysqlデータベースを使用して統合テストを実行するときに、データベースを再作成する必要があります。

2 Maven以外のプロジェクトでも、間違いなく同じソリューションが必要になります。

では、基本的に、hbm2ddlではなくliquibaseを使用する場合、データベースを削除して作成するにはどうすればよいですか?

4

1 に答える 1

1

最も簡単な方法は、SQLを実行するliquibaseアップデートの前に別のデータベース呼び出しを追加することです

DROP DATABASE X;
CREATE DATABASE X

Liquibaseには、スキーマ内のすべてをドロップするために使用できるdropAllコマンドがありますが、mysqlでデータベースをドロップ/作成するよりも遅く、一部のデータベースオブジェクトを見逃す可能性があります。

于 2011-04-15T19:44:52.953 に答える