本篇文章更新時間:2020/01/12
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
現在很多開發框架把資料庫的定義都包裝在 Model 設計裡,所以不需要特別處理到資料庫。但事實上過多包裝就會有其他延伸成本,這裡不多說。
總之開發一個應用程式,通常不只有主程式,還包含了資料庫的設計。但資料庫結構如有更動要怎麼也透過版本控制紀錄?
Git 有提供 hooks 機制 分別在本機與線上。今天主題的操作只需要處理本機端的就好!
pre-commit 顧名思義是在 commit 前呼叫程式來處理
使用方式很簡單,把 hook 代號名稱(例如:pre-commit
)的「可執行」檔案放置在專案下 .git/hooks
裡即可! 該目錄下也還有很多使用 Shell Script 寫的範例檔案,如有興趣研究可以把檔案名稱 pre-commit.sample
改名為 pre-commit
來看看結果!
自行建立的 hook 檔案若要改成「可執行」可以使用指令
chmod +x pre-commit
來達成。
若比較熟悉 PHP
或 Python
也是可以,這邊有一個 PHP 的參考專案:
#!/usr/bin/env php
run();
好,回到本主題,其實就是把那個 hook 檔案 pre-commit
內容補上如下:
#!/bin/bash
DBUSER="root"
DBPASS="root"
DB="mxp_customers"
SCHEMAPATH=`pwd`
mysqldump --no-data -u $DBUSER -p$DBPASS -d $DB mxp_customers_table > $SCHEMAPATH/$DB.sql
exit 0
就可以在 git commit 前先把指定資料庫結構給匯出做版本控制囉~
可以了解喔~
哦對~ 這個也適合你 哈哈
一介資男 哈哈~ 您了解的!