[ZIO] flyway 환경설정 에러 해결

Sangwoo Park·2023년 6월 17일
0
post-custom-banner

개요

ZIO 로 간단한 프로젝트를 따라하며 배우던 중, DB migration 툴인 flyway를 설정하다가 빌드가 되지 않아 원인을 찾느라 고생하고 있었다.

원인

위의 사진과 같은 에러를 뿜고있었고, 에러 로그를 보며 처음에는

Exception in thread "zio-fiber-8" sttp.client3.DeserializationException: sttp.client3.DeserializationException: (expected '[' got '<') 라고 써있는 빨간 글씨에 집중했지만, 이내 다른 곳을 보니 의미있는 문장을 찾을 수 있었다.

WARN o.f.core.internal.command.DbValidate No migrations found. Are your locations set up correctly?

즉 migration 의 location 설정이 잘못되어있다는 것이다.

나는 분명 그대로 따라했었던것같은데..?

내 디렉토리 설정은 아래와 같이 되어있었다.

설마 저 resources.db.migration 을 계층폴더로 인식 못하는걸까..

해결

가정이 맞았다. 사진과 같이 디렉토리를 제대로 설정해주고, resources 디렉토리로도 잘 지정해주었다. (이름을 바꾸니 자동으로 적용되었었다.)

다시 테스트코드를 작동시키니 아래와 같은 로그와 함께 migration이 잘 작동하는 것을 확인할 수 있었다.

00:05:51.196 [ZScheduler-6] INFO  o.f.core.internal.command.DbValidate Successfully validated 1 migration (execution time 00:00.009s)
00:05:51.206 [ZScheduler-6] INFO  o.f.core.internal.command.DbMigrate Current version of schema "public": 001
00:05:51.208 [ZScheduler-6] INFO  o.f.core.internal.command.DbMigrate Schema "public" is up to date. No migration necessary.

기타

그나저나 flyway는 테스트코드로 동작시켰을 때는 테스트가 종료되기 전 롤백을 하나보다. 데이터 삽입 쿼리가 있는데 해당 데이터가 테스트 이후에 DB에서 조회되지 않는다.

profile
going up
post-custom-banner

0개의 댓글