TL; DR
に使用Flyway SQLスクリプトのあなたのコレクションを自動的に適用されます。
用語「データベースの移行」データベースの移行は、生産マシンに上のこのテストの開発からデータベースの構造への変更を動かすの雑用とを記述するために登場しています。
- これまで、開発者と管理者はこれを特別な方法で実行し、SQLとコードの断片と希望と祈りをまとめました。
- 近年では、これを組織化され、信頼性が高く、再現性があり、テスト可能で自己文書化するプロセスに変えるいくつかのツールが登場しています。
フライウェイ
Flywayプロジェクトは、データベースの更新に使用するSQLスクリプトとJavaのjarファイルのシリーズを追跡するためのJavaベースのキットです。
ここには特別な魔法はありません。このツールは、SQLスクリプトにシーケンス番号を付けるために名前付きのファイルを検索します。このツールは、最後に適用されたスクリプトの番号を含むメタデータを格納するためにデータベース内に余分なテーブルを作成します。このツールは、存在する新しいファイルをスキャンして適用し、最後に適用されたスクリプトの番号でメタデータテーブルを更新します。
導入は、最新のSQLスクリプトをデプロイメントマシンに移動して、Flywayにその作業を任せることを意味します。
もう1つの利点は、テストで使用するためにデータベースを特定のポイントにすばやく再構築することです。同様に、データベースを正しい形に自動的に保つために、継続的な統合で使用するのに適しています。
これらの特典の代価は規律です。 は絶対にでなければならず、データベースの構造の中で即座に変更を加える必要があります。すべての変更は、SQLスクリプト(およびオプションでjarファイルのJavaコード)として記述し、Flywayを介して適用する必要があります。
データベースの作成の最初から使用したほうが簡単です。しかし、既存のデータベースでの使用を開始するために「ベースライン」することもできます。
Flywayには、コマンドラインツールとJava APIインターフェイスが含まれています。したがって、Java以外のアプリケーションでも、Flywayを利用できます。
オープンソースで、無料です。 Postgresを含む多くのデータベースをサポートします。
LiquiBaseを
プロジェクトはフライウェイの目的で非常に似別のツールです。
flywaydb.comが解決しませんでした。 flywaydb.orgはthoを動作させます。 – jamie
@jamie固定URL。参考までに、スタックオーバーフローについては、このようなエラーを修正するための答えを直接編集することは大歓迎です。 –