Flyway로 다중 데이터베이스 설정
Flyway 5.0.7, 개발용 MySQL, 테스트용 H2로 두 가지 다른 데이터베이스를 설정하려고 합니다.두 데이터베이스 모두 각각의 파일로 구성하였습니다.
개발의 경우 src/메인/리소스/응용프로그램.properties.
spring.datasource.url=jdbc:mysql://localhost:3306/moment
spring.datasource.username=root
spring.datasource.password=root
flyway.locations=db/migration,db/specific/mysql
테스트의 경우, src/test/resource/application.properties
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1
spring.datasource.username=sa
spring.datasource.password=sa
flyway.locations=db/migration,db/specific/h2
아래는 Flyway 마이그레이션 파일의 폴더 구조입니다.
이 경우 Flyway는 아래에서 마이그레이션 파일을 찾을 수 없습니다.specific
폴더 및 적용 시 오류 발생V1.1__Insert_Records.sql
위해서table not found
.
제가 옮기면.specific
폴더 안에db/migration
, 동일한 버전의 중복 파일에 대해 오류가 발생하고 있습니다.
Flyway와 함께 작동하려면 여러 데이터베이스의 마이그레이션 파일을 어떻게 구성해야 합니까?
여기서 스프링부트 2.x를 사용하고 계신 것 같은데요?그렇다면,flyway.locations
더 이상 유효하지 않으며 무시됩니다.
그러면 Flyway가 기본 위치를 사용합니다(db/migration
)만 찾을 수 있습니다.V1.1__Insert_Records.sql
대본은 안되고V1__Create_table.sql
대본.
Spring Boot 2.x에서는 다음과 같이 접두사를 붙여야 합니다.
spring.flyway.locations=db/migration,db/specific/h2
그건 그렇고, 당신이 사용한다면.{vendor}
위치의 자리 표시자인 Spring Boot는 데이터베이스 드라이버 ID(h2, mysql, oracle 등)의 소문자에서 디렉토리를 계산합니다.
spring.flyway.locations=db/migration,db/specific/{vendor}
언급URL : https://stackoverflow.com/questions/51346712/setting-up-multiple-database-with-flyway
'programing' 카테고리의 다른 글
GCC가 C99에서 건설 구조물의 필드를 수정하는 것에 대해 경고할 수 있습니까? (0) | 2023.10.31 |
---|---|
헤드리스 워드프레스(headless wordPress) - 후방 및 전방의 Gutenberg 스타일 (0) | 2023.10.31 |
Chrome을 사용하여 요소에 바인딩된 이벤트를 찾는 방법 (0) | 2023.10.31 |
디렉토리 대 디렉토리정보 (0) | 2023.10.31 |
그룹 내부 그룹_MySQL의 CONCAT @ MariaDB (0) | 2023.10.31 |