2017-09-14 5 views
-1

マイグレーション中に一部のスクリプトが失敗した場合、flywayは失敗した文のDB2 db内のschema_versionにレコードを追加しません。flywayはschema_version内の文をDB2で失敗としてマークしません

このような状況を回避する方法はありますか?あなたが観察フライウェイの挙動の違いについて

I did a migration, 4th script failed, i expect this script will have status ABORTED/FAILED

+0

移行が失敗した場合でもschema_versionを変更することを意味しますか?悪い考えのように聞こえる。 – mao

+0

いいえ、DB2での移行中に一部のスクリプトが失敗した場合、コマンド修復を使用する必要はなく、失敗したスクリプトのステータスは「保留中」です。 –

+0

マイグレーションを試行したマイグレーション・ドキュメントと未適用のマイグレーション・ドキュメントはステータス保留状態のままです。 -612(名前の重複)は、関連するスクリプトにコーディングエラーがあることを示唆しています。なぜこの問題を解決しないのですか? – mao

答えて

1

一つの説明は、DB2は、DDL(デフォルトでは、トランザクション制御下DDLを実装する)の処理方法と比較して、(暗黙の各DDLの後/前にコミット)OracleはDDLを処理する方法です。したがって、Db2では、各マイグレーションをアトミックにし、障害時にロールバックすることができます。つまり、修復する必要がないため、Oracleの実装に必要な修復作業は不要です。

関連する問題