私はMaven pom.xmlの依存関係としてFlywayを設定したJava Spring Bootアプリケーションを持っています(私は親のPOMとプロジェクトのPOMを持っています)。Flyway Init Order
<dependencies>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-core</artifactId>
<version>4.2.0</version>
</dependency>
...
とapplication.propertiesのエントリだけのカップル:
flyway.enabled=true
flyway.out-of-order=true
私はフライウェイが私のデータベースを更新/作成するmigrate
を実行し、そのに対して自分のアプリケーションを実行するために取得するにはMavenのタスクを実行することができます私のアプリケーションを実行するだけで正しい時刻にmigrate
に電話をかけるのが難しいです(これは明らかに重要です)。私のSpringクラスのすべてが最初にインスタンス化されているように見えますが、その中にはデータベースを見ているものがあり、その後にFlywayの移行が起こるので、空のデータベースに対してアプリケーションを実行すると、データベース。
Springブートアプリケーションの起動プロセスの初期段階でFlywayにマイグレーションを行うために間違っている場所を知るためのヒントを教えてください。
親POMには、フライウェイの依存関係があります。私たちはgradleを使用し、フライウェイは一番上に表示されます。 – Prashant
私はそれが私の親プロジェクトではなく、私のプロジェクトのpomに定義されていますが、あなたの質問には、最初にリストされていますが、私は特定の依存関係は示していません。たぶん私はそれを調べなければならないかもしれません。そうでなければ、コード内に構成されたBeanとして直接宣言し、そこに依存関係を示す必要があるかもしれません。しかしどちらの方法でも、依存関係は何を設定する必要があるかを示すので、私はFlywayに直接どのような依存関係を示すかはわかりません。だから、私は早くにロードされている他の何かにフライウェイが依存していると言わなければなりません。 –