搜尋

首頁  >  問答  >  主體

tortoisegit - 有没有办法在提交git之前自动导出mysql数据库

也有看到一些,数据库版本控制解决方案,
比如Laravel自带的那个,还有dbv.php……
但是我觉得还不如直接在提交前 导出一下数据表结构的SQL文件。

有没有办法在提交git之前自动导出mysql数据库呢。
想把数据表结构也加入版本控制里。
我用的是TortoiseGit。

阿神阿神2865 天前675

全部回覆(3)我來回復

  • ringa_lee

    ringa_lee2017-04-17 11:20:34

    pre-commit git hook

    在你的repo根目錄應該有目錄 .git/hooks/ (需要先顯示隱藏目錄) , 在其中新建一個檔案pre-commit(目前使用者需要有執行權限),內容大致如下:

    #!/bin/sh
    #
    # An example hook script to verify what is about to be committed.
    # Called by "git commit" with no arguments.  The hook should
    # exit with non-zero status after issuing an appropriate message if
    # it wants to stop the commit.
    #
    # To enable this hook, rename this file to "pre-commit".
    
    /usr/local/opt/mysql/bin/mysqldump -uroot -p111111 -S /tmp/mysql-3306.socket dbname --no-data > path/to/dbfile/dbname.sql
    
    git add path/to/dbfile/dbname.sql
    

    上述mysql使用者、密碼、dbname都要變成你自己的。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:20:34

    支持@samoay 的答案。
    但有一點提示,pre-commit的鉤子是客戶端的鉤子。
    如果你的共同開發者需要用,你要把這個鉤子檔案複製給他們。

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:20:34

    git hooks是你的好夥伴

    回覆
    0
  • 取消回覆