9

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

しかし、スキーマの新しいバージョンを移行する前に (つまり、データベース スキーマで新しい SQL ステートメントを移行/実行する前に)、すべての新しい SQL を別の preview.sql ファイルにキャプチャして、DBA が移行を進める前の SQL。

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

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

私のアプローチを修正するあなたの助けや提案をいただければ幸いです。

ありがとうございました

4

1 に答える 1

2

これをサポートするために必要な抽象化はまだ整っていませんが、2.2 でのバッチ更新をサポートするために、今後数週間でそれらを追加する予定です。これが完了すると、これを実装するのがはるかに簡単になるはずです。

DB の状態のクエリに関しては、Flyway.info() が役に立ちます。

于 2013-03-16T16:43:00.310 に答える