Maintenant, j'ai une application Spring-Boot qui utilise le serveur MS SQL. Et nous utilisons les migrations par voie de migration.
Je veux ajouter un profil supplémentaire pour les tests. Je veux générer des tables à partir de classes d'entités. et n'utilisez pas la voie de migration.
J'ai essayé d'écrire comme ça dans application.yaml
spring:
profiles: test
jpa:
generate-ddl: true
hibernate:
datasource:
url: jdbc:h2:mem:test_db;MODE=MSSQLServer
username: sa
password:
mais la voie de migration commence quand même
Cette réponse fonctionne avec la version Spring Boot 1.X. Si vous cherchez une réponse pour Spring Boot 2.X, vous devriez voir le sous la réponse .
Spring-Boot dispose d'une propriété permettant de désactiver flyway si elle a besoin de flyway.enabled
, qui est true par défaut.
Vous pouvez avoir une configuration spécifique à votre profil. Dans votre cas, elle devrait être nommée application-test.yml
. Cette configuration peut désactiver la voie de migration si le profil est actif. Vous devez juste le déclarer comme suit:
flyway:
enabled: false
Et si vous spécifiez un profil de test dans une configuration commune, ajoutez-le simplement à sa racine.
Pour votre information, si vous venez ici chercher ceci, le nom de la propriété a changé pour Spring Boot 2.0 :
Pour le format application.properties
:
spring.flyway.enabled=false
Pour le format application.yml
:
spring:
flyway:
enabled: false
Update: Pour désactiver le mode de migration dans un profil spécifique, vous pouvez placer cette propriété dans le fichier de propriétés spécifique à ce profil. Par exemple, si votre profil s'appelle "abc", vous pouvez le mettre dans application-abc.properties
. Consultez la documentation de Spring sur les propriétés spécifiques au profil pour plus de clarté sur la façon de nommer les fichiers. Généralement, le format est application-{profileName}.properties
.
JIC la documentation officielle avec la version actuelle du printemps 2.x: Propriétés communes de l’application et consultez la balise # FLYWAY. Vous y trouverez de nombreuses propriétés pouvant vous aider.
spring.flyway.enabled=false # Whether to enable flyway.