2016-11-14 1 views
0

したがって、springboot flywayプロジェクトで作成されたデータベース移行スクリプトを使用して新しいデータベースを構築する際に、間違いを犯したことが分かりました。flyway springbootプロジェクトの問題を解決するにはどうすればよいですか?

いくつかの古いスクリプトでは、我々は再び新しいデータベーススキーマを作成するときに我々は、これらの問題に直面していないことを確実にするために変更する必要があります。これらの問題は主に関連しています。インフォメーションテーブルにはプロジェクトのエントリが入力されておらず、移行プロジェクトのデータを参照するスクリプトがあります。データを含むスクリプトが含まれていないためこのデータは存在しません。

どうすればこのプロジェクトを修正できますか?私が考えることができる唯一の方法は、すべての挿入が置き換えられるようにスクリプトを修正することです。

を削除し、スキーマバージョンのすべてのエントリを削除し、このスキーマを使用しているすべてのデータベースでこれを再実行します。

チェックサムの問題により移行プロジェクトが失敗するため、私のスクリプトを元に戻すことはできません。

答えて

1

チェックサムが失敗してしまうため、このプロジェクトとスクリプトがあなたがそれらを変更することはできませんいくつかの既存のプロジェクトで実行している場合は、rigthあります。

次に、 "DB-GENERAL-FIXES"という名前のファイルを追加すると最も簡単に考えることができます。このファイルには、すべてのSQL検証を追加してDBを安定した状態に戻すことができます。新しい実装のためには最初にそれを間違ってビルドしてからクリーンアップすることになりますが、現時点で同じコードをプロダクションで共有している場合は...ベスト・オプションです

+0

これは意味がありますが、途中で失敗します。 10個のスクリプトがある場合と同様に、スクリプト内の何かが新しいデータベースで新しいスキーマを作成するために実行するかもしれないことを考慮していないため、プロジェクトは5番目のスクリプトで実行を停止します。だから私は、プロジェクト全体がうまく動作し、5回目のスクリプトが実行される前にこれらのdbの変更が行われていることを確認するために、いくつかのデータベースを変更する必要があります。 – Tisha

+0

@Tisha残念ながら、将来のスクリプトでテーブルや行などが削除されることがわかっていても、いくつかのスクリプトを作成する必要がありますが、新しいプロジェクトではすべてのDBの展開で同じものを使用する必要があります – cralfaro

関連する問題