desbordamiento de gstack
Ahora tengo una aplicación Spring-Boot que usa el servidor MsSQL. Y usamos la ruta migratoria para las migraciones.
Quiero agregar un perfil adicional para las pruebas. Quiero generar tablas a partir de clases de entidad en lugar de usar flyway.
Intenté algo para escribir 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
Todd
FYI, para cualquiera que venga aquí en busca de esto, el nombre de la propiedad ha cambiado para Spring Boot 2.0:
Para application.properties
formato:
spring.flyway.enabled=false
Para application.yml
formato:
spring:
flyway:
enabled: false
Actualizar: Para deshabilitar flyway 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
. Verificar Documentación de Spring sobre propiedades específicas del perfil para obtener más claridad sobre cómo nombrar los archivos. En general, el formato es application-{profileName}.properties
.
-
esto no pasa bajo la primavera. ruta migratoria: habilitado: falso
– Tushar J. Dudhatra
2 de mayo de 2018 a las 12:14
-
Lo siento, no sigo tu comentario.
– Todd
2 de mayo de 2018 a las 12:15
-
@gstackoverflow Ver actualización, agregué algunos comentarios y un enlace sobre cómo aplicar propiedades a perfiles específicos.
– Todd
9 de noviembre de 2018 a las 13:41
-
Me alegro de que haya ayudado @gstackoverflow
– Todd
9 de noviembre de 2018 a las 17:21
-
alternativamente, lo siguiente es perfectamente válido en
application.yml
:spring.flyway.enabled: false
. Si no funciona, intente poner ‘falso’ entre comillas…– maestroxilo
23 de julio de 2019 a las 10:23
Stanislav
¡No sirve para Spring Boot 2.X! La respuesta correcta está aquí.
Continúe leyendo si necesita una respuesta para Spring Boot 1.X.
Hay una propiedad disponible para spring-boot para deshabilitar el flyway si es necesario flyway.enabled
que es cierto por defecto.
Puede tener una configuración específica de perfil, en su caso debería nombrarse como application-test.yml
. Esta configuración puede deshabilitar flyway 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.
-
Si solo necesita la ruta migratoria para no jurar que algunas migraciones no se aplican, puede usar spring.flyway.out-of-order = true
– roma2341
8 de julio de 2021 a las 11:28
jonathan jox
JIC la documentación oficial con Spring Boot 2.x actual:
Propiedades de migración de datos y echa un vistazo a la etiqueta # VÍA AÉREA encontrarás muchas propiedades que te pueden ayudar.
spring.flyway.enabled=false # Whether to enable flyway.
Tengo varios perfiles, por ejemplo.
- aplicación-integración.yml
- aplicación.yml
en aplicación.yml
spring:
profiles:
active: ${ENVIRONMENT_NAME:local}
flyway:
enabled: true
user: ${ORACLE_DB_USER:#{null}}
password: ${ORACLE_DB_PASS:#{null}}
locations: classpath:db/migration
url: ${DB_URL:#{null}}
driver-class-name: oracle.jdbc.OracleDriver
# skipExecutingMigrations: true
tablespace: MY_TABLESPACE_NAME
baselineOnMigrate: true
schemas: MY_SCHEMA_NAME
en aplicación-integración.yml
spring:
flyway:
enabled: false
cuando lo ejecuto, no deshabilita la migración de la ruta migratoria. Estoy usando SpringBoot2.3.4
Aquí ejemplo de application.yaml
Define 2 perfiles:
1. enable_flyway_profile
– permite la ruta migratoria
2. disable_flyway_profile
– desactiva la ruta migratoria
spring:
profiles:
active: "enable_flyway_profile"
flyway:
enable: true
....
---
spring:
profiles:
active: "disable_flyway_profile"
flyway:
enable: false
....
-
no precisamente. docs.spring.io/spring-boot/docs/current/reference/html/… lo que buscas es
spring.profiles: "enable_flyway_profile"
elactive
propiedad es definir qué perfil está activo– TecHunter
18 de febrero de 2019 a las 15:31
-
@TecHunter, puede ser una sorpresa para usted, pero ese código funciona en producción con éxito
– desbordamiento de gstack
18 de marzo de 2019 a las 9:52
-
oh bueno, es bueno saberlo! prefiero la forma en que lo escribiste también 🙂 más explícito
– TecHunter
18 de marzo de 2019 a las 18:45
-
no precisamente. docs.spring.io/spring-boot/docs/current/reference/html/… lo que buscas es
spring.profiles: "enable_flyway_profile"
elactive
propiedad es definir qué perfil está activo– TecHunter
18 de febrero de 2019 a las 15:31
-
@TecHunter, puede ser una sorpresa para usted, pero ese código funciona en producción con éxito
– desbordamiento de gstack
18 de marzo de 2019 a las 9:52
-
oh bueno, es bueno saberlo! prefiero la forma en que lo escribiste también 🙂 más explícito
– TecHunter
18 de marzo de 2019 a las 18:45