특정 스프링 프로필에서 플라이웨이를 비활성화하려면 어떻게 해야 합니까?
현재 MsSQL 서버를 사용하는 스프링 부트 앱이 있습니다.또한 이행을 위해 플라이웨이를 사용합니다.
테스트용 프로파일을 추가하고 싶습니다.플라이웨이를 사용하는 대신 엔티티 클래스에서 테이블을 생성하려고 합니다.
어플리케이션에서 이렇게 쓰려고 했어요.yaml
spring:
profiles: test
jpa:
generate-ddl: true
hibernate:
datasource:
url: jdbc:h2:mem:test_db;MODE=MSSQLServer
username: sa
password:
그래도 플라이웨이는 시작이야
참고로 Spring Boot 2.0의 속성명이 변경되었습니다.
위해서application.properties
형식:
spring.flyway.enabled=false
위해서application.yml
형식:
spring:
flyway:
enabled: false
업데이트: 특정 프로필에서 플라이웨이를 비활성화하려면 해당 프로필에 고유한 속성 파일에 해당 속성을 넣을 수 있습니다.예를 들어, 프로파일이 "abc"라고 불리는 경우 프로파일이 "abc에 삽입할 수 있습니다.application-abc.properties
파일 이름 지정 방법에 대한 자세한 내용은 프로파일 고유의 속성에 대한 Spring 문서를 참조하십시오.일반적으로 형식은application-{profileName}.properties
.
Spring Boot 2.X 용은 아닙니다!정답은 여기 있습니다.
Spring Boot 1.X에 대한 답변이 필요한 경우 계속 읽어보십시오.
필요에 따라 스프링 부트에서 플라이웨이를 비활성화할 수 있는 속성이 있습니다.flyway.enabled
디폴트로는 해당됩니다.
프로파일 고유의 설정을 지정할 수 있습니다.이 경우, 다음과 같이 이름을 붙여야 합니다.application-test.yml
이 설정에서는 프로파일이 활성화 되어 있는 경우 플라이웨이를 무효로 할 수 있습니다.다음과 같이 선언하면 됩니다.
flyway:
enabled: false
또한 공통 구성에서 테스트 프로파일을 지정할 경우 테스트 프로파일을 루트에 추가합니다.
JIC 공식 매뉴얼 with current spring boot 2.x : 데이터 이행 속성 및 태그 #FLYWAY를 참조하면 도움이 되는 많은 속성을 찾을 수 있습니다.
spring.flyway.enabled=false # Whether to enable flyway.
예를 들어 여러 프로파일이 있습니다.
- application-integration.yml
- application.yml
application.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
application-integration.yml에 포함되어 있습니다.
spring:
flyway:
enabled: false
실행 중에는 플라이웨이 이행을 무효로 하지 않습니다.Spring Boot 2.3.4를 사용하고 있다.
의 예를 다음에 나타냅니다.application.yaml
2개의 프로파일을 정의합니다.
1. enable_flyway_profile
- 플라이웨이를 활성화합니다.
2. disable_flyway_profile
- 플라이웨이를 비활성화합니다.
spring:
profiles:
active: "enable_flyway_profile"
flyway:
enable: true
....
---
spring:
profiles:
active: "disable_flyway_profile"
flyway:
enable: false
....
언급URL : https://stackoverflow.com/questions/44287821/how-to-disable-flyway-in-a-particular-spring-profile
'programing' 카테고리의 다른 글
cat_id와 term_id의 차이점은 무엇입니까? (0) | 2023.03.22 |
---|---|
Wordpress API: 게시물에 태그 추가/제거 (0) | 2023.03.22 |
json 배열을 postgres 행으로 변환하는 방법 (0) | 2023.03.22 |
중첩된 데이터 구조(예: JSON 구문 분석)에서 단일 값을 추출하려면 어떻게 해야 합니까? (0) | 2023.03.22 |
Oracle에서 FROM 절 없이 선택 (0) | 2023.03.22 |