values initialize example application java spring spring-boot flyway spring-profiles

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 .