これで、MsSQLサーバーを使用するスプリングブートアプリができました。そして、移行にはフライウェイを使用します。
テスト用の追加プロファイルを追加したい。フライウェイを使用する代わりに、エンティティクラスからテーブルを生成したい。
私はapplication.yamlでこのように書くことを試みました
spring:
profiles: test
jpa:
generate-ddl: true
hibernate:
datasource:
url: jdbc:h2:mem:test_db;MODE=MSSQLServer
username: sa
password:
とにかくフライウェイが始まる
この回答は、Spring Boot 1.Xバージョンで機能します。 Spring Boot 2.Xの回答を探している場合は、 回答の下 が表示されます。
flyway.enabled
が必要な場合にflywayを無効にするスプリングブートのプロパティがあり、これはデフォルトでtrueです。
プロファイル固有の構成を使用できます。この場合、application-test.yml
という名前を付ける必要があります。この構成は、プロファイルがアクティブな場合にフライウェイを無効にすることができます。次のように宣言するだけです。
flyway:
enabled: false
また、共通構成でテストプロファイルを指定する場合は、それをルートに追加するだけです。
参考までに、これを探してここに来る人は誰でも Spring Boot 2.0のプロパティ名が変更されました :
application.properties
形式の場合:
spring.flyway.enabled=false
application.yml
形式の場合:
spring:
flyway:
enabled: false
更新:特定のプロファイルでフライウェイを無効にするには、そのプロファイルに固有のプロパティファイルにそのプロパティを配置します。たとえば、プロファイルの名前が「abc」の場合、application-abc.properties
に配置できます。 Springのプロファイル固有のプロパティに関するドキュメント をチェックして、ファイルの命名方法をより明確にしてください。通常、形式はapplication-{profileName}.properties
です。
JICの現在のスプリングブート2.xを使用した公式ドキュメント: 一般的なアプリケーションプロパティ およびタグの外観#FLYWAYあなたを助けることができる多くのプロパティを見つけます。
spring.flyway.enabled=false # Whether to enable flyway.