Mercurial을 사용하여 Drupal 프로젝트 소스 파일을 버전 관리하고 있습니다 (필자는 VCS와 Mercurial 초보자입니다). 그러나 데이터베이스는 여전히 날짜가있는 .sql.gz 파일의 디렉토리를 사용하여 "버전 제어"됩니다.Mercurial hook을 사용하여 버전 관리를위한 데이터베이스 덤프 생성 /로드
내가 원하는 것은 저의 저장소 내의 어딘가에 하나의 데이터베이스 덤프 파일을 가지고, 데이터베이스가 변경 될 때 현재 덤프로 덮어 쓰여지고 다른 버전으로 롤백하려고 할 때 데이터베이스로 가져온 것입니다.
나는 그것을 수동으로 해냈다. 하지만 내가 진정으로 원하는 것은 커밋/업데이트마다 자동으로 덤프 /로드를 수행하는 것입니다. 나는 TortoiseHg의 도구로 작업하는 것을 좋아하기 때문에 처음에는 데이터베이스를 덤프하고 커밋하는 makefile과 같은 외부적인 것보다는 Mercurial에 연결하는 것이 더 좋을 것입니다. 그리고 나는 다른 스크립트를 실행하는 것처럼 느껴지지 않습니다.
이제 후크에 mysql .... < dumpfile.sql
과 같은 것이 매 업데이트 후에 데이터베이스 덤프를로드하는 쉬운 방법이 될 것입니다. 자동 덤핑은 어떨까요?
SVN의 사전 커밋 훅에 대해 similar question이 있었으며 허용 된 대답은 아마도 나쁜 생각 일 것입니다. 그것은 Mercurial에 적용됩니까? 어쩌면 다른 후크 (prechangegroup
?)가 작동할까요?
편집 :
내가 내 로컬 컴퓨터에 자신에 의해 그것을 사용하고 있음을 지적한다. 단일 사용자 이상으로 확장해서는 안됩니다.
좋아요! hg 커밋을 통해 잘 작동합니다. 하지만 ... tortoisehg를 사용하면 두 번 커밋해야합니다 (한 번 소스 파일에 대해 한 번 더 새로 만든 데이터베이스 덤프에 대해) ... 주위에 어떻게 알아낼 수 있을까요? –
THG는 파일이 변경된 것으로 생각하는 파일로 제한한다는 것을 의미합니다. 나는 THG를 잘 돌아볼 수 있을지 모르겠다. (아마 THG 메일 링리스트에서 물어볼지도 모른다.) 어쨌든 고마워, – tonfa
. 대부분 커밋에 명령 줄을 사용할 수 있습니다. 나쁘지 않아. –