2016-10-04 10 views
0

フライウェイを使用してマイグレーションを実行するデータベースがあります。これは、レコードを持ってschema_versionテーブルを持っている:0.0.1:フライウェイのベースラインレコードを変更する

'1', '1', '1', '<< Flyway Baseline >>', 'BASELINE', '<< Flyway Baseline >>', NULL, 'root', '2016-06-28 16:59:05', '0', '1' 

は今、私は1、EXよりもいくつかの以前の移行を導入する必要があります。これらの移行は、ベースラインが1であるため無視されます。schema_versionテーブルのベースラインレコードを変更することはできますか?

注:私はjava apiを使用します。

ありがとうございます。

答えて

1

しかし、混乱の要求のように思える - あなたは(彼らが実行してはならないことを意味する)を実行する必要があるの移行に追加するだけでなく、事前のベースラインです。

schema_versionを削除し、新しいbaselineVersionbaseline + migrateを再度実行してください。

schema_versionのベースライン入力を手動で調整することはできますが、推奨しません。

+0

schema_versionバージョンテーブルのベースラインバージョンは古いです。だから私はschema_versionテーブルでそのレコードを変更できるかどうか尋ねました。 Java APIからこれを行う方法はありません。手動でレコードを更新したりテーブルを削除したりする必要はありませんか? ありがとうございます。 –

+0

修正。既存の 'schema_version'テーブルを(どのようなFlyway APIを通して)も再ベースラインすることはできません。 'schema_version'テーブルの変更や削除のような手作業による修正手続きが必要です。 – markdsievers

+0

ありがとうございます。 –

0

私は、ベースラインが必要とされている変更するときに、いくつかのユースケースを与えることができます:

  • スキーマ(フライウェイの情報を含まない)古いダンプから作成され、我々は、ベースラインでなければなりません内容を正確に把握していません。
  • 誰かがflywayを使用せずに(SQL)移行手順を適用しているので、flywayにそれを認識させる必要があります。
関連する問題