2017-04-12 7 views
2

(中央の)データベースに対してデバッグを実行すると、Flywayはデータベーススキーマを更新できます。これは、ローカルアプリケーションが、デプロイされたアプリケーションよりも先の開発ブランチで実行されている場合に発生します。 ローカルアプリケーションを実行すると、セントラルデータベース上の移行スクリプトが呼び出されます。最悪の場合、これはもちろん、本番データベースを更新する可能性があります。フライウェイ:中央データベース上の開発者からの誤って移行を防ぐ方法を教えてください。

もう1つのシナリオは、2人の開発者が1つの開発データベースに対してテストデータで作業するシナリオです。どちらの開発者も異なる機能を扱っており、どちらもスキーマを変更しています。ある開発者がdbを更新すると、もう1つはチェックサムの問題に直面しています(そうでなければ、変更が行われたことに驚いています)。

私はそのような問題の解決策について考えています。

もちろん、Flywayの外には、スローアウェイデータベースへの接続や重要なデータベースへのアクセスを禁止するようなソリューションがあります。

私はFlywayが提供するオプションに興味があります。

答えて

1

いくつかのオプションがありますが、あなたのケースでは便利なようです。

初めての場合は、あなたのDBと同じバージョンのtargetプロパティを設定して、Flywayがそれを更新しないようにすることができます。

2人の開発者が同じDBインスタンスで同時に作業している2番目のケースでは、validateOnMigrateプロパティを無効にして検証の失敗を回避したり、ignoreMissingMigrationsで開発者がまだ持っていない移行を無視したりできます。

Hereすべてが、移行タスクのコンソールプロパティで使用できることがわかります。あなたが指定しなかった場合は、正確にあなたは、春のブートを行っている場合は、これらのプロパティのすべてが利用可能ではありません、それらのいくつかだけで、あなたがそれを見つけることができます、フライウェイセクションの下にhere

ほとんどの場合、最適な解決策は、開発とデバッグの間にFlywayの移行をオフにして、可能であれば準備が整った機能を提供することです。

関連する問題