2013-03-16 6 views
8

Flywayを初めて使用しており、Flywayを使用して以前のスキーマバージョンでSQL文を移行および実行するためにFlyway 2.1コードベースを使用しています。新しいSQL文を実行すると、メタデータテーブルのバージョンエントリが増分されます。Flywayを使用して移行前にSQL文をプレビューする

しかし、新しいバージョンのスキーマを移行する前に(つまり、データベーススキーマで新しいSQL文を移行/実行する前に)、新しいSQLをすべて別のpreview.sqlファイルに取り込みたいので、 DBAは、移行を進める前にSQLを見ることができます。

私はflyway.preview()メソッドをFlyway.javaファイルに追加することでこれを行う予定です。これを達成するために他のファイルを変更する必要があるかどうか教えてください。

また、新しいバージョンが現在データベースにある現在のスキーマバージョンである場合にのみ、これを実行します。私は2.1のコードをチェックしましたが、SchemaVersionクラスは2.1で廃止されました。データベースから現在のバージョンを取得する方法がわかりません。

私のアプローチを修正する助けや提案がありがとうございます。

+0

あなたがやっている作業とこの作業が重複する可能性があります:https://github.com/flyway/flyway/issues/87 - ソリューションを構築したらプルリクエストで提出することはできますか? –

答えて

1

ありがとうござい必要な抽象化は、これをサポートするために、まだ場所ではありませんが、私は2.2でバッチ更新をサポートするために、今後数週間にわたって、それらを追加することを計画します。これが完了したら、これを実装する方がずっと簡単です。

DBの状態を照会するには、Flyway.info()を使用してください。

+0

こんにちはアクセル、ありがとうございました。私の投稿に対するあなたの反応ごとに、情報の行に沿ってプレビューコマンドがありますか?つまり、flyway.cmd previewを実行すると、適用されるSQLのリストが出力されますか?私は現在、その機能を実装しようとしているので、私は知りたいのです。ありがとうございます – user2176326

+0

いいえ、私はあなたがエグゼキュータを切り替えることができるような方法で実装します。 jdbcまたはstdoutなどに実行してください。 –

+0

こんにちはアレックス、私は同じ形式でテキストファイルにコンソールに印刷されている同じasciiテーブルを印刷したいと思います...とにかくそこにテーブルをエクスポートすることができますか?おかげで – user2176326

関連する問題