2016-09-14 8 views
0

를 생성 기존의 휴식.새로운 이동 경로 마이그레이션은 jOOQ 내가 현재 jOOQ 내 데이터베이스에서 자바 코드를 생성하고 내 바이너리 (자바) 마이그레이션뿐만 아니라 SQL 마이그레이션을 관리하기 위해 철새 이동 경로에 사용할 코드

그러나 기존 테이블을 수정할 때 문제가 발생합니다. 예를 들어 한 번의 마이그레이션에서 열을 삭제하고 이전 이진 마이그레이션이 해당 열에 종속 된 경우이 필드는 더 이상 jOOQ에 존재하지 않으므로 구문 오류가 발생합니다.

필자는 마이그레이션의 본문을 주석으로 처리 할 수 ​​있지만 마이그레이션을 재실행 할 수 없거나 매우 지루한 경우 (Fly 1 마이그레이션을 실행하면 Flyway 또는 데이터베이스 버전 관리자의 모든 목적을 저지합니다. , 주석이

이 문제를 접근하는 더 좋은 방법이 있나요) 등 jOOQ를 생성, 다음 실행?

+0

당신은 당신이 [이동 경로 자바 마이그레이션]을 사용하는 건가요 (https://flywaydb.org/documentation/migration/java) 그 마이그레이션에서 마이그레이션을 지원하기 위해 jOOQ을 사용하고 있습니까? – markdsievers

+0

예, 문제는 생성 된 jooq 코드가 데이터베이스의 상태에 달려 있다는 것입니다. –

답변

2

저는 이것이 워크 플로우 문제라고 주장합니다.

당신은 효과적으로 기적에 가까운 일은 아무것도 없을 것입니다 작업을 계속하는 API의 기존 소비자 기대, 각 마이그레이션 API를 업그레이드.

jOOQ는 훌륭한 도구입니다 만 (마이그레이션을 지원하기 위해)이 문맥에서 사용하면 확실히 문제가 발생할 것입니다.

나의 제안은 당신을 다시 생각하는 것 진화 전략을 스키마; 자연적으로 Flyway에 제공되는 원시 SQL을 사용하고 대신 응용 프로그램을 독점적으로 지원하기 위해 jOOQ를 떠나십시오.