2012-08-28 3 views
1

마이그레이션을 위해 maven을 사용하는 IMHO는 개발 시스템에서만 유효합니다. 서버에서는 일반적으로 사용할 수있는 Maven이 없습니다 (그리고 Maven을 설치할 수 없을 수도 있습니다).플라이 웨이 : db init without maven?

So : 어떻게하면 maven없이 데이터베이스를 초기화 할 수 있습니까? flyway.init()를 호출합니까? db가 이미 초기화되어 있으면 어떻게 될까요?

db를 초기화하기 위해 SQL 문을 실행할 수 있습니까? 다른 데이터베이스 인스턴스간에 외래 키와 인덱스가 다르거 나 엉망입니다. 따라서 이미 전체 스키마 스크립트를 작성하고 데이터 내보내기, 스키마 삭제, 스키마 다시 작성 및 데이터 복원으로 테스트했습니다. 나는 그것들이 정확히 동일하다는 것을 보장하기 위해 모든 데이터베이스에서 그렇게 할 것입니다.

답변

1

예, 당신은 단순히 flyway.init()를 호출

당신은 DB가 inited는되어 있는지 확인하는 flyway.status()를 사용할 수 있습니다.

Flyway 1.8에서는 initOnMigrate라는 새로운 속성이 도입되어이 과정이 더 쉬워집니다. 처음 실행될 때 마이그레이션을 수행하거나 빈 데이터베이스 (DEV)로 마이그레이션 할 때 기존의 비어 있지 않은 데이터베이스 (PROD)를 초기화합니다.