해결된 질문
작성
·
94
1
flywayClean 실행해보면 다음과 같이 에러가 뜨는데요.
뭐가 문제인걸까요 ㅠㅠ
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':flywayClean'.
> Error occurred while executing flywayClean
No database found to handle jdbc:mysql://localhost:3308/jooq
이전 단계에서 다음과 같이 세팅은 잘 마쳤어요.
val jooqVersion: String by extra("3.19.21")
val dbUrl = "jdbc:mysql://localhost:3308/jooq"
val dbUsername = "root"
val dbPassword = "1234"
val dbDrive = "com.mysql.cj.jdbc.Driver"
...
flyway {
driver = dbDrive
url = dbUrl
user = dbUsername
password = dbPassword
locations = arrayOf("classpath:db/migration")
}
답변 2
1
1
안녕하세요!
우선 flywayClean 명령어가 안되는게 맞습니다
숨겨진 옵션이 있는데요
cleanDisabled 가 default 값 true 로 돼 있어서 clean 을 못하게 설정이 돼있습니다.
결론적으로 cleanDisabled = false 로 한번 시도해보시면 될 것 같습니다.
일반적으로 개발 단계에선 true 로 하셔도 되지만 운영단계로 올리는 곳엔 false 로 하시는게 좋습니다.
우선 개발 단계에서 문제가 있으면 true 로 하고 clean을 또는 repair 를 하시면 될 것 같습니다.
혹시 해당방법으로 하셔도 문제가 있으면 다시 댓글 달아주세요!
flyway {
url = "jdbc:h2:file:./testdb;MODE=MySQL" // H2 데이터베이스 파일 위치
user = "sa" // 데이터베이스 사용자
password = "" // 비밀번호
locations = arrayOf("filesystem:src/main/resources/db/migration") // 마이그레이션 파일 위치
baselineOnMigrate = true // 기존 데이터베이스에 대한 베이스라인 설정
cleanDisabled = false // DB 초기화 허용
validateOnMigrate = true // 마이그레이션 검증
outOfOrder = false // 순서대로 마이그레이션 실행
}
아! 제가 데이터베이스 못 찾는 오류라고 적힌걸 못보고 잘못된 대답을 했을 수도 있을 것 같아 다시 댓글 답니다. 빌드 시점에 데이터베이스를 찾을 수 있어야 하는데 설정상 런타임에 보인다거나 하는 이유로 데이터베이스 찾지 못하는 에러가 발생할 수 있습니다. [7강에 있는 데이터베이스 찾지 못하는 오류 해결] 까지 적용해보시고 그때도 안되면 오류로그 올려주시면 답변드리겠습니다!