2017-05-31 33 views
5

Teraz mam aplikację wiosna-boot, która korzysta z serwera ms sql. I używamy migracji fr.Jak wyłączyć przelot w określonym profilu sprężyny?

Chcę dodać dodatkowy profil do testów. Chcę generować tabele z klas jednostek. i nie używaj flywaya.

Próbowałem smth napisać jak to w application.yaml

spring: 
    profiles: test 
    jpa: 
     generate-ddl: true 
     hibernate: 
    datasource: 
    url: jdbc:h2:mem:test_db;MODE=MSSQLServer 
    username: sa 
    password: 

ale Flyway rozruchów i tak

Odpowiedz

8

Jest property available na wiosnę-boot, aby wyłączyć drogę przelotu, jeżeli jest to potrzebne flyway.enabled co jest prawdą domyślnie .

Możesz mieć konfigurację specyficzną dla profilu, w Twoim przypadku powinna ona być oznaczona jako application-test.yml. Ta konfiguracja może wyłączyć przepływ w locie, jeśli profil jest aktywny. Po prostu trzeba zadeklarować ją w następujący sposób:

flyway: 
    enabled: false 

A jeśli określić profil testowy w typowej konfiguracji, wystarczy dodać go do jego korzeni.

+0

Mam profile podzielone na --- – gstackoverflow

1

FYI, dla każdego, kto przychodzi tu w poszukiwaniu tego, nazwa nieruchomość zmieniła Spring Boot 2.0:

Dla formatu application.properties:

spring.flyway.enabled=false 

Dla formatu application.yml:

spring: 
    flyway: 
     enabled: false 
+0

@DanSyrstad Moja odpowiedź jest dla Spring Boot 2.0, jesteś połączony z "current", który od tej chwili wynosi 1.5.10. Jeśli spojrzysz na dokumenty 2.0.0.RC1, jest to w rzeczywistości 'spring.flyway.enabled'. https://docs.spring.io/spring-boot/docs/2.0.0.RC1/reference/html/common-application-properties.html – Todd

+0

Prawdopodobnie są, dlatego wspomniałem wersję, której dotyczy ta odpowiedź. 2.0 będzie w tym miesiącu. – Todd