フライウェイ移行スクリプトの前にJPAテーブルの作成を実行します

ピーターペンゾフ

このSpringプロパティファイルをデータベース構成に使用したいと思います。

spring.jmx.enabled=false
spring.datasource.jndi-name=java:/global/production
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MariaDBDialect
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = update
request.limit=300000
spring.flyway.baselineOnMigrate = true
spring.flyway.locations=classpath:/db/migration

コードは正常に機能しますが、残念ながら、すべてのテーブルが削除された後にデータベースが空になると、移行スクリプトが最初に実行されるため、SQLエラーが発生します。

最初にJPAを構成してテーブルを作成し、次にフライウェイを構成して移行スクリプトを実行するにはどうすればよいですか?

GolamMazid Sajib

フライウェイの移行は、休止状態の実行の前に実行されます。起動順序を確認することでそれを行うことができます。このためには、次の構成クラスを追加する必要があります。

import org.flywaydb.core.Flyway;
import 
org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.DependsOn;

@Configuration
public class MigrationConfiguration {


/**
 * Override default flyway initializer to do nothing
 */
@Bean
FlywayMigrationInitializer flywayInitializer(Flyway flyway) {
    return new FlywayMigrationInitializer(flyway, (f) ->{} );
}


/**
 * Create a second flyway initializer to run after jpa has created the schema
 */
@Bean
@DependsOn("entityManagerFactory")
FlywayMigrationInitializer delayedFlywayInitializer(Flyway flyway) {
    return new FlywayMigrationInitializer(flyway, null);
}


}

この答えを見て、詳細がわかります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

(CORS)ブラウザーは、フライト前のリクエストをいつ実行するかをどのように認識しますか

分類Dev

phpスクリプトrequire()ステートメントは、ブラウザから実行する場合はファイルをフェッチしますが、PleskCRONジョブから実行する場合はフェッチしません

分類Dev

RAMにはアクティブなものだけを保持しながら、バックグラウンドで実行されているアイドル状態のソフトウェアのメモリ データをスワップするために転送しますか?

分類Dev

他のコンテンツが実行される前に、ファイルの先頭にスクリプトを動的にロードします

分類Dev

jpa / EclipseLinkがテーブルを作成した後にSQLスクリプトを実行しますか?

分類Dev

jmeter-新しいテストプランを実行する前に、以前に保存したファイルをクリーンアップします

分類Dev

Reactアプリの作成-テストを実行する前にウィンドウオブジェクトを設定できません

分類Dev

RaspberryPiのバックグラウンドで実行されるPythonスクリプトを使用してテキストファイルを作成する

分類Dev

シェルスクリプトで複数のファイルの名前を変更するためのforループの実行中にエラーが発生しました

分類Dev

IDEA:テストを実行するたびに、プロジェクトディレクトリに空のファイルが作成されます

分類Dev

ウェブサイトにはURLのリストがあります。各URLにアクセスし、2つのテーブルをスクレイプするループを作成する必要があります。

分類Dev

Play 2 Framework:JPAの起動前にプラグインを起動して、liquibaseの移行を実行します

分類Dev

ブラウザウィンドウのサイズが変更された場合に実行するjQueryスクリプトをトリガーします

分類Dev

マウントされたGoogleドライブからスクリプトを実行する方法。問題は、グーグルドライブフォルダの名前にスペースがあることです

分類Dev

シェルスクリプトの実行中に、スクリプト出口を保存した後、.txtファイルを作成して編集しました

分類Dev

bashスクリプトstdoutは、実行する前にファイルを作成します

分類Dev

どのように私は、MavenのフェイルセーフプラグインとJUnitの5の統合テストを実行しますか?

分類Dev

react.jsを使用してブラウザに与えられた単一のスクリプトファイルでページを作成します

分類Dev

Java / ScalaプログラムのDataStreamからSQLテーブルを作成し、SQLクライアントCLIからクエリを実行します-Apache Flink

分類Dev

Node.jsエクスプレスリクエスト-リクエストエラー時にモーダルのブートストラップをフェードインおよびフェードアウトします

分類Dev

Typescript:オブジェクトリテラルがインターフェイスを拡張することを確認しますが、実際のオブジェクトタイプを返します

分類Dev

プロジェクトのlibsフォルダーにないアイテムを「Androidプライベートライブラリ」から削除します

分類Dev

Bootstrapテーブルの行を「ストライプ」スタイルにリセットします

分類Dev

ubuntu14.04を使用してPythonPyQt4アプリケーションのDockerイメージを作成しました。コンテナーを実行すると、DockerホストのIPとインターフェイスにアクセスしたい

分類Dev

インターフェイスAeを実装する各クラスに、プロパティとしてBaを実装する具象クラスの1つのリストを作成する方法はありますか?

分類Dev

スクリプトの実行中に別のブランチをチェックアウトしますか?

分類Dev

共有ライブラリのsrcファイルから完全なJenkinsスクリプトパイプラインステージを実行する方法

分類Dev

ec2インスタンスの入力パラメーターとしてawss3フォルダーオブジェクトを使用して、コンピューター上にあるpythonスクリプトを実行します

分類Dev

私のウェブサイトにグーグルアナリティクスを追加する前にライブラリが必要ですか?

Related 関連記事

  1. 1

    (CORS)ブラウザーは、フライト前のリクエストをいつ実行するかをどのように認識しますか

  2. 2

    phpスクリプトrequire()ステートメントは、ブラウザから実行する場合はファイルをフェッチしますが、PleskCRONジョブから実行する場合はフェッチしません

  3. 3

    RAMにはアクティブなものだけを保持しながら、バックグラウンドで実行されているアイドル状態のソフトウェアのメモリ データをスワップするために転送しますか?

  4. 4

    他のコンテンツが実行される前に、ファイルの先頭にスクリプトを動的にロードします

  5. 5

    jpa / EclipseLinkがテーブルを作成した後にSQLスクリプトを実行しますか?

  6. 6

    jmeter-新しいテストプランを実行する前に、以前に保存したファイルをクリーンアップします

  7. 7

    Reactアプリの作成-テストを実行する前にウィンドウオブジェクトを設定できません

  8. 8

    RaspberryPiのバックグラウンドで実行されるPythonスクリプトを使用してテキストファイルを作成する

  9. 9

    シェルスクリプトで複数のファイルの名前を変更するためのforループの実行中にエラーが発生しました

  10. 10

    IDEA:テストを実行するたびに、プロジェクトディレクトリに空のファイルが作成されます

  11. 11

    ウェブサイトにはURLのリストがあります。各URLにアクセスし、2つのテーブルをスクレイプするループを作成する必要があります。

  12. 12

    Play 2 Framework:JPAの起動前にプラグインを起動して、liquibaseの移行を実行します

  13. 13

    ブラウザウィンドウのサイズが変更された場合に実行するjQueryスクリプトをトリガーします

  14. 14

    マウントされたGoogleドライブからスクリプトを実行する方法。問題は、グーグルドライブフォルダの名前にスペースがあることです

  15. 15

    シェルスクリプトの実行中に、スクリプト出口を保存した後、.txtファイルを作成して編集しました

  16. 16

    bashスクリプトstdoutは、実行する前にファイルを作成します

  17. 17

    どのように私は、MavenのフェイルセーフプラグインとJUnitの5の統合テストを実行しますか?

  18. 18

    react.jsを使用してブラウザに与えられた単一のスクリプトファイルでページを作成します

  19. 19

    Java / ScalaプログラムのDataStreamからSQLテーブルを作成し、SQLクライアントCLIからクエリを実行します-Apache Flink

  20. 20

    Node.jsエクスプレスリクエスト-リクエストエラー時にモーダルのブートストラップをフェードインおよびフェードアウトします

  21. 21

    Typescript:オブジェクトリテラルがインターフェイスを拡張することを確認しますが、実際のオブジェクトタイプを返します

  22. 22

    プロジェクトのlibsフォルダーにないアイテムを「Androidプライベートライブラリ」から削除します

  23. 23

    Bootstrapテーブルの行を「ストライプ」スタイルにリセットします

  24. 24

    ubuntu14.04を使用してPythonPyQt4アプリケーションのDockerイメージを作成しました。コンテナーを実行すると、DockerホストのIPとインターフェイスにアクセスしたい

  25. 25

    インターフェイスAeを実装する各クラスに、プロパティとしてBaを実装する具象クラスの1つのリストを作成する方法はありますか?

  26. 26

    スクリプトの実行中に別のブランチをチェックアウトしますか?

  27. 27

    共有ライブラリのsrcファイルから完全なJenkinsスクリプトパイプラインステージを実行する方法

  28. 28

    ec2インスタンスの入力パラメーターとしてawss3フォルダーオブジェクトを使用して、コンピューター上にあるpythonスクリプトを実行します

  29. 29

    私のウェブサイトにグーグルアナリティクスを追加する前にライブラリが必要ですか?

ホットタグ

アーカイブ