1
隨着MKB用戶的幫助下,我已經建立這個pre-commit鉤子:mysqldump - git hook - 它允許什麼?
#!/bin/bash -e
DBHOST=dbhost.yourdomain.com
DBUSER=dbuser
DBPASS=dbpass
DBNAME=dbname
mysqldump -h $DBHOST -u $DBUSER -p $DBPASS -d $DBNAME > sql-version-control/schema.sql
# the -h means host.
# the -u means user.
# the -p means pass.
# the -d means database name (same as "no data").
git add sql-version-control/schema.sql
至於我能理解:
mysqldump -h $DBHOST -u $DBUSER -p $DBPASS -d $DBNAME > sql-version-control/schema.sql
會去到我的共享(或本地)主機,會在那裏做一個原來的模式的備份?
但是,我們經常在本地更改模式,然後我們需要在遠程服務器上應用這些更改。
有沒有反正我可以做到這一點遵循這條道路? 或者有更好的方法來完成預期的目標?
在此先感謝
如果事情是不明確的,請讓我知道爲好。我會很高興地回答這個問題。謝謝。 :) – MEM 2011-04-02 19:40:36
mysqldump導出整個數據庫,包括數據。我也爲你找到了這個:http://www.edmondscommerce.co.uk/git/using-git-to-track-db-schema-changes-with-git-hook/ – lucifurious 2011-04-02 19:53:45
事實上,它也是在那是我寫的這個。但在你提供的鏈接上,它也使用mysqdump。我相信我們可以在不導出數據的情況下使用mysqldump,比如當我們使用標誌-d(根據mkb)或者根據那個鏈接,當我們使用另一個標誌時。無論如何,我的問題是,無論是所有的數據還是隻有模式,我需要一種方法來同步本地和遠程數據庫,我不確定像這樣的鉤子是否會幫助我。它似乎只在一個方向上工作,作爲備份任務,但沒有更多的那... – MEM 2011-04-02 19:57:10