내 응용 프로그램을 개발하는 동안 Grails database-migration plugin을 사용했으며 그 기능을 정말 좋아했습니다. (Grails의 1.3.7, 데이터베이스 마이그레이션 1.0)Grails 프로젝트 외부에서 데이터베이스 마이그레이션 플러그인 스크립트를 실행할 수 있습니까?
문제는 : 나는 모든 배포 내 응용 프로그램을 포함 데비안 패키지를 통해 발생해야한다는 것을 제한하고있다. 그것은 유능한 관리자 인 다른 그룹에 의해 설치 될 것이지만, 그 어떤 의미에서든 프로그래머는 설치되지 않을 것입니다. 따라서 일반적인 워크 플로 시나리오에서 설명한대로 데이터베이스 스키마를 마이그레이션 할 수 없습니다.
질문 : 어떤 스크립트/클래스/???
grails -Dgrails.env=$TARGET dbm-update
및
grails -Dgrails.env=$TARGET dbm-changelog-sync
내 데비안 /는 postinst 스크립트에서
grails -Dgrails.env=$PROD dbm-diff $PROMOTION_ENV
: 명령을 실행 할 수 있도록 내가 묶을 필요하거나 패키지에 의존합니까?
데이터베이스 마이그레이션 플러그인을 런타임 종속성으로 만들고 Dbm * 스크립트를 포함하여 Grails를 설치하려고했지만 성공하지 못했습니다. Grails가 스크립트 중 하나를 실행하려고 할 때 Grails 어플리케이션의 루트에 있지 않다는 불평이 가장 가까이에 왔습니다.
이 작업을 수행 할 수 있습니까? 아니면 누구나 완전히 새로운 마이그레이션 메타포를 배울 필요가없는 좋은 대안을 제공 할 수 있습니까?
빠른 답변 감사합니다! 관리자가 어떤 이유로 (프로덕션/감사) 프로덕션 스키마를 수정 한 경우 내 스키마를 순조롭게 마이그레이션하여 예기치 않은 동작을 방지하려고합니다. 적어도 마이그레이션 후 what-it-would-be와 비교할 사항은 마이그레이션 후 실제로 무엇인지를 알고 관리자에게 충분한 정보를 제공하는 것입니다. 필자는 설치 스크립트에서 패키징하기 직전에 빌드 서버 (플러그인 사용)가 생성 한 XML 변경 로그를 사용할 수 있다고 생각합니다.이를 실행하기 위해 liquibase를 사용합니다. 그게 내가 너의 의견을 바탕으로 시도 할거야. 다시, 고마워. – JohnKeller