2017-06-28 4 views
0

でデータベース移行スクリプトを含むように:ビルドが正常に終了はどのようMartin Fowler氏から、この優れた<a href="https://martinfowler.com/articles/evodb.html" rel="nofollow noreferrer">article</a>によると、ビルドの成果物

たら、CIサーバはビルド成果物をパッケージ化し、それらを公開しています。これらのビルド成果物には、データベース移行スクリプトが含まれているので、それらをダウンストリーム環境のデータベースに適用できます。(...)

私は実際にJavaベースのワークフローでどのように実現されていますか?ビルド成果物は、通常は.war、.jar、または.earファイルで、Nexus、Archiva、Artifactoryサーバに公開されます。これらの成果物にマイグレーション・スクリプトを含めることができるため、ターゲット環境を変更することなくマイグレーションを実行できますか?この目的のために、フライウェイまたはリキーベースなどのツールを使用できますか?

答えて

0

はい!私たち(Flyway)はあなたのアプリケーションであなたのマイグレーションをパッケージ化し、起動時にそれらを実行することを強く推奨します。これにより、アプリケーションの現在のバージョンで期待されるオブジェクト(テーブル、ビュー、ストアドプロシージャなど)がデータベースに常に含まれていることを確認できます。

0

私たちは人工物を構築するためにmavenを使用しており、私たちはsrc/main/resources/db/migrationフォルダの下にフライウェイ移行スクリプトを持っています。

アプリは春のWebアプリケーションで、春のコンテナの起動時には、Flywayの移行が実行されます。問題がある場合、アプリは決して開始しません。

このようにして、アプリケーションの開始時にデータベースの状態を確認します。

関連する問題

 関連する問題