java - initialize - ¿Cómo deshabilitar la ruta en cierto perfil de primavera?
spring boot properties file (4)
Esta respuesta funciona con la versión Spring 1.X. Si está buscando una respuesta para Spring 2.X , debería ver la siguiente respuesta .
Hay una propiedad disponible para Spring-Boot para deshabilitar la ruta de vuelo si es necesario flyway.enabled
que es cierto de forma predeterminada.
Puede tener una configuración específica de perfil, en su caso, debe llamarse application-test.yml
. Esta configuración puede deshabilitar la ruta de vuelo si el perfil está activo. Solo tienes que declararlo de la siguiente manera:
flyway:
enabled: false
Y si especifica el perfil de prueba en la configuración común, simplemente agréguelo a su raíz.
Ahora tengo la aplicación spring-boot que usa el servidor ms sql. Y utilizamos las migraciones de flyway fr.
Quiero agregar perfil adicional para las pruebas. Quiero generar tablas a partir de clases de entidad. y no use la ruta migratoria.
Traté de escribir algo así en application.yaml
spring:
profiles: test
jpa:
generate-ddl: true
hibernate:
datasource:
url: jdbc:h2:mem:test_db;MODE=MSSQLServer
username: sa
password:
pero la ruta migratoria comienza de todos modos
Aquí un ejemplo de application.yaml
define 2 perfiles:
1. enable_flyway_profile
- habilita la ruta de vuelo
2. disable_flyway_profile
- deshabilita la ruta de vuelo
spring:
profiles:
active: "enable_flyway_profile"
flyway:
enable: true
....
---
spring:
profiles:
active: "disable_flyway_profile"
flyway:
enable: false
....
JIC es la documentación oficial con Spring Boot 2.x actual: Propiedades comunes de la aplicación y eche un vistazo a la etiqueta # FLYWAY y encontrará muchas propiedades que pueden ayudarlo.
spring.flyway.enabled=false # Whether to enable flyway.
Para su información, para cualquiera que venga aquí en busca de esto, el nombre de la propiedad ha cambiado para Spring Boot 2.0 :
Para el formato de application.properties
:
spring.flyway.enabled=false
Para el formato de application.yml
:
spring:
flyway:
enabled: false
Actualización: para deshabilitar la ruta en un perfil específico, puede colocar esa propiedad en el archivo de propiedades específico de ese perfil. Por ejemplo, si su perfil se llama "abc", puede ponerlo en application-abc.properties
. Consulte la documentación de Spring sobre las propiedades específicas del perfil para obtener más claridad sobre cómo nombrar los archivos. Generalmente, el formato es application-{profileName}.properties
.