2010-07-12 5 views
0

데이터베이스 액세스를 위해 Hibernate를 사용중인 작업을하고 있습니다. 나는 mvn hibernate3 : hbm2ddl을 사용하여 데이터베이스 스키마를 빌드하고 mvn liquibase : 데이터베이스에 초기 데이터를 채우는 데 필요한 모든 것을 설정하고 작업했습니다 (DBUnit은 처음 시도했지만, 오라클과 Liquibase가 처음으로 제대로 작동하도록하십시오.)순차적으로 여러 플러그인을 수행하는 Maven 실행

내 문제는 hbm2ddl을 실행하여 스키마를 삭제했다가 다시 작성하면 Liquibase DATABASECHANGELOG 테이블이 그대로 유지되어 Liquibase가 다음에 실행될 때 데이터를 다시 생성하지 않는다는 것입니다. 이 문제를 해결하기 위해 mvn sql을 구성했습니다. 문제의 두 테이블에 대한 드롭을 수행하려면 실행해야하지만 이것은 처음부터 데이터베이스를 빌드하려는 경우 안전해야한다는 것을 의미합니다. 이제 "mvn hibernate3 : hbm2ddl sql : execute liquibase : update "

내가 정말로 원하는 것은 hibernate3 : hbm2ddl 명령이 실행될 때 sql : execute 명령을 실행할 무언가를 구성 할 수 있다는 것이다. 명령은 나를 깨끗한 데이터베이스 상태로 남겨 둘 것입니다. 이 명령은 자동으로 여러 명령을 실행하는 구성이므로 자동으로 위의 세 명령을 실행하려면 "mvn execute : db-rebuild"와 같이 구성 할 수 있습니다.

mojo-executor에 대한 언급을 보았지만 실제 사용 방법에 대한 예제는 없습니다. 나는 그것이 내가 원하는 것을위한 올바른 도구인지 잘 모르겠다. ...

답변

0

통합 테스트 단계와 같은 특정 작업에 이러한 여러 가지를 묶지 않는 이유는 무엇입니까? 플러그인 순서에 따라 실행 순서가 결정됩니다. 당신이 mvn을 호출하는 핸드를 제거하는 것보다 ...

+0

나는이 작업들을 드물게 원하기 때문에, 그리고 모든 빌드에는 필요하지 않기 때문에 ... – Graham

+0

Ok - 실제로 통합 테스트를 읽었습니다. 실제 컴퓨터이고 실제로 원하는대로 정확하게 작동 할 것입니다. – Graham

관련 문제