2011-01-21 5 views
11

git을 사용하여 MySQL 개발 데이터베이스를 내보내거나 다운로드 할 수 있습니다.이 코드는 커밋 또는 기타 다른 방법으로 내 코드에서 활용되므로 내 프로젝트를 복제 할 때마다 항상 데이터베이스의 현재 복사본이 있습니다. ?힘내 : 커밋에 MySQL 데이터베이스 내보내기?

그렇지 않은 경우 데이터베이스를 내보낼 수 있으며 소스에 추가 할 수 있습니다. git에 거의 후크처럼 사용할 수있는 기능이 있는지 궁금합니다.

+0

* each * commit 후에 전체 데이터베이스를 복사하겠습니까? – GolezTrol

+1

이것은 답을 찾을 수 없지만 무료 온라인 인 Pro Git의 훌륭한 책에서 git hook에 대해 배울 수 있습니다. 이 장의 링크는 다음과 같습니다. http://progit.org/book/ch7-3.html – coreyward

+2

커밋하지는 않았지만 매번 푸시 한 후에 (릴리스 브랜치를 완료했을 때만 수행). githooks (http://www.kernel.org/pub/software/scm/git/docs/githooks.html)가 내 최선의 방법이라고 생각하십니까? – drewrockshard

답변

16

내가 예상했던대로 git hooks를 사용하여 끝냈다. pre-commit 후크를 만들고 다음을 추가했습니다.

#!/bin/bash 
DBUSER="sysbackup" 
DBPASS="password" 
DB="database-name" 
SCHEMAPATH="DBSchema" 

mysqldump -u $DBUSER -p$DBPASS $DB > $SCHEMAPATH/$DB.sql 
git add $SCHEMAPATH/$DB.sql 
exit 0
+0

이 솔루션을 이용해 주셔서 감사합니다. 'exit 0'은 무엇입니까? AFAIK, 스크립트가 끝나면 상태 0으로 종료됩니다. 그렇습니까? – leemes

+0

쉘에 MY 스크립트가 0 값으로 종료됨을 알립니다. – drewrockshard

+0

예, 'exit' 문이 없으면 모든 스크립트가 종료 코드 0을 반환하지 않습니까? 내 말은 : AFAIK 스크립트의 맨 끝에서 명시 적으로 exit 0을 호출 할 필요가 없다는 것입니다. – leemes