2012-08-16 4 views
0

dbdeploy 메이븐 플러그인을 사용하고 있지만 빌드를 실행할 때 오류가 발생합니다. 이 오류는 말한다 :변경 로그 테이블을 찾을 수없는 Dbdeploy 메이븐 플러그인

[ERROR] com.dbdeploy.exceptions.SchemaVersionTrackingException: Could not retrieve change log from database because: user lacks privilege or object not found: CHANGELOG 

사용을 dbdeploy 변경 로그 테이블이 생성되지 않은 때문이다. 예제와 함께 제공되는 앤트 빌드 스크립트를 사용하여 어떻게 완료되는지 알 수 있지만, 필자는 메이븐 플러그인으로이 작업을 수행하는 방법을 알 수 없다. (필자는 메이븐에서 앤트 태스크를 실행하고 싶지 않다. dbdeploy-maven-plugin의 포인트).

아이디어가 있으십니까? Using Maven Plugin 페이지에 설명 된대로 다음 명령을 실행

+0

사용하는 플러그인 구성의 스 니펫을 게시 할 수 있습니까? 그건 단서를 줄 수 있습니다. – Raghuram

답변

2

dbdeploy 소스 및 dbdeploy maven 플러그인 소스를 통해 트롤링하면 변경 로그가 생성되는 곳을 볼 수 없습니다. 코드와 함께 번들로 제공되는 예제가 작동하지 않아 반쯤 완료되고 제대로 테스트되지 않은 노력이라는 인상을받습니다.

수동으로 변경 로그 테이블을 만들고 그 후에 작업 한 것이 좋지 않지만 그 해결책은 적합하지 않습니다.

고맙게도 나에게 너무 늦었지만 같은 문제가있는 다른 사람을 찾았습니다. 해결책은 here입니다. 즉, maven sql 플러그인을 호출하여 changelog를 생성하기위한 스크립트를 실행합니다.

이 내용은 dbdeploy 사이트에 문서화되어 있지 않습니다.이 모든 내용이 조금 헷갈리는 느낌이 들지 만 대체물을 살펴볼 것입니다.

0

...

mvn help:describe -Dplugin=com.dbdeploy:maven-dbdeploy-plugin -Ddetail 

우리를 참조

dbdeploy:change-script 
    Description: Maven goal for creating a new timestamped dbdeploy change 
    script. 
    Implementation: com.dbdeploy.mojo.CreateChangeScriptMojo 
    Language: java 

    Available parameters: 

    name (Default: new_change_script) 
     Expression: ${dbdeploy.script.name} 
     Name suffix for the file that will be created (e.g. 
     add_email_to_user_table). 

    scriptdirectory (Default: ${project.src.directory}/main/sql) 
     Expression: ${dbdeploy.scriptdirectory} 
     Directory where change scripts reside. 

그래서 나는 우리가이 사전을 실행됩니다 추측 변경 로그를 생성하는 데 도움이 다음 목표, db-scriptsupdate과 같은 다른 목표로

+1

dbdeploy maven 플러그인 코드를 통해이 대답이 올바르지 않다는 것을 알 수 있습니다. 변경 내역은 어디에서도 생성되지 않습니다. – DaveRlz