2017-05-17 8 views
1

hereのようにJUnitテストでは、Springブートのデータベース初期化機能を使用しています。Springブートアプリケーションのschema.sqlの条件付き/実行可能コメント

私たちのクラスパスにschema.sqlファイルがあり、アプリケーションの起動時に期待通りに実行されています。ただし、MySQLまたはMariaDB上で動作させるために必要な次のフォームの条件付きコメントが含まれているため、スクリプトは失敗します。私たちは、クラスorg.springframework.jdbc.datasource.init.ScriptUtilsが別々のステートメントにSQLファイルを分割するために使用beeingていることを見つけ、実行のスタックトレースで

/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 

コメントはこのようにします。このプロセスでは、すべてのブロックコメントが削除され、データベースに送信されません。

ファイル全体がデータベースに送られて一度に実行されるようにこの動作を設定する方法はありますか?

答えて

0

このスクリプトは使用しないでください。それは明らかに不適切です。

代わりにLOAD DATA INFILE ...を実行して、タスクを1つの手順で実行します。

関連する問題