2011-01-21 15 views
11

क्या कोई तरीका है कि मैं अपने MySQL विकास डेटाबेस को निर्यात/डाउनलोड करने के लिए गिट का उपयोग कर सकता हूं जिसका उपयोग मेरे कोड में गिट के माध्यम से या किसी अन्य तरीके से किया जाता है ताकि जब भी मैं अपनी परियोजना को क्लोन करूं, तो मेरे पास हमेशा डेटाबेस की एक वर्तमान प्रति है ?गिट: प्रतिबद्धता पर MySQL डेटाबेस निर्यात करें?

यदि नहीं, तो मैं हमेशा डेटाबेस निर्यात कर सकता हूं, और इसे स्रोत में जोड़ सकता हूं, मैं बस सोच रहा था कि क्या गिट में लगभग एक हुक की तरह ऐसा करने की क्षमता थी।

+0

आप वास्तव में कह रहे हैं आप * के बाद प्रत्येक अपने पूरे डेटाबेस कॉपी करने के लिए * प्रतिबद्ध करना चाहते हैं? – GolezTrol

+1

यह एक उत्तर का एक पुलिस आउट होगा, लेकिन आप उत्कृष्ट प्रो गिट बुक में गिट हुक के बारे में जान सकते हैं जो मुफ्त ऑनलाइन उपलब्ध है। यहां सीधे उस अध्याय के लिए लिंक है: http://progit.org/book/ch7-3.html – coreyward

+2

शायद प्रतिबद्ध नहीं है, लेकिन हर धक्का के बाद (कुछ मैं केवल तब करता हूं जब मुझे रिलीज शाखा के साथ किया जाता है)। मुझे लगता है कि githooks (http://www.kernel.org/pub/software/scm/git/docs/githooks.html) मेरी सबसे अच्छी शर्त है? – drewrockshard

उत्तर

16

मैंने अनुमान लगाया कि मैं गिट हुक का उपयोग कर समाप्त हुआ। मैं 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

इस समाधान के लिए धन्यवाद। 'निकास 0' के लिए क्या है? AFAIK, जब स्क्रिप्ट समाप्त होती है, तो यह स्थिति 0 से बाहर निकलती है, है ना? – leemes

+0

यह खोल देता है कि मेरी स्क्रिप्ट 0. – drewrockshard

+0

के मान से बाहर निकल रही है हां, लेकिन जब कोई 'निकास' कथन नहीं होता है तो प्रत्येक स्क्रिप्ट 0 के बाहर निकलने वाले कोड के साथ वापस नहीं आती है? मेरा क्या मतलब है: AFAIK आपको किसी भी स्क्रिप्ट के अंत में 'निकास 0' को स्पष्ट रूप से कॉल करने की आवश्यकता नहीं है। – leemes

संबंधित मुद्दे