@0.8.8 > (DBFLUTE-399){Java/C#}: > ReplaceSchemaでエラー続行したDDLの結果を最後のログで表示 ReplaceSchemaのプロセスは以下のようになります: 1. Drop/Create Tables 2. Register test data 3. Check or Arrange で、「2」は一行でも登録に失敗すればReplaceSchema中断ですが、 「1」と「3(のArrange)」は続行します。 それは、CREATE OR REPLACEがサポートされていないオブジェクトの DROP文などどうしても「最初の一回目は正当に落ちる」というのを 許容せざるを得なかったりします。(OracleのSequenceなど) なので、DDLで実行に失敗したStatementはログで確認する必要が ありますが、流れるログを見つめてるか、処理の最初の方のログを スクロールして後で追っかけるかする必要があるのですが、 0.8.8からは最後のログで以下のようなログを表示し、 落ちたDDLの有無を確認することが可能です。
// 全てのDDLがうまくいったとき # /* * * * * * * * * * * * * * * * * * * # [Final Information] # # {Create Schema} # [Fired SQL] success=26 failure=0 (in 1 files) # # {Take Finally} # [Fired SQL] success=0 failure=0 (in 0 files) # * * * * * * * * * */
// 一つ(以上)DDLが失敗したとき # /* * * * * * * * * * * * * * * * * * * # [Final Information] *Failure # # {Create Schema} # [Fired SQL] success=25 failure=1 (in 1 files) # # {Take Finally} # [Fired SQL] success=0 failure=0 (in 0 files) # * * * * * * * * * */