为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

手掌心 2019-04-09 20:24:06
也有看到一些,数据库版本控制解决方案,比如Laravel自带的那个,还有dbv.php……但是我觉得还不如直接在提交前导出一下数据表结构的SQL文件。有没有办法在提交git之前自动导出mysql数据库呢。想把数据表结构也加入版本控制里。我用的是TortoiseGit。
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

pre-commitgithook
在你的repo根目录应该有个目录.git/hooks/(需要先显示隐藏目录),在其中新建一个文件pre-commit(当前用户需要有执行权限),内容大致如下:
#!/bin/sh
#
#Anexamplehookscripttoverifywhatisabouttobecommitted.
#Calledby"gitcommit"withnoarguments.Thehookshould
#exitwithnon-zerostatusafterissuinganappropriatemessageif
#itwantstostopthecommit.
#
#Toenablethishook,renamethisfileto"pre-commit".
/usr/local/opt/mysql/bin/mysqldump-uroot-p111111-S/tmp/mysql-3306.socketdbname--no-data>path/to/dbfile/dbname.sql
gitaddpath/to/dbfile/dbname.sql
上述mysql用户、密码、dbname都要变成你自己的。
                            
查看完整回答
反对 回复 2019-04-09
?
MYYA

TA贡献1868条经验 获得超4个赞

支持@samoay的答案。
但是有一点提示,pre-commit的钩子是客户端的钩子。
如果你的共同开发者需要用,你要把这个钩子文件复制给他们。
                            
查看完整回答
反对 回复 2019-04-09
  • 2 回答
  • 0 关注
  • 310 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信