问题 Git:提交时导出MySQL数据库?


有没有办法可以利用git导出/下载我的MySQL开发数据库,​​这个数据库在我的代码中通过提交或其他方式通过git使用,这样每当我克隆我的项目时,我总是拥有数据库的当前副本?

如果没有,我总是可以导出数据库,并将其添加到源代码,我只是想知道git是否有能力这样做几乎像一个钩子。


7427
2018-01-21 22:06


起源

你实际上是说要在之后复制整个数据库吗? 每 承诺? - GolezTrol
这将是一个答案的副本,但你可以在免费的在线免费的Pro Git书中了解git hooks。这是直接链接到该章节的链接: progit.org/book/ch7-3.html - coreyward
也许不是提交,但是每次推送之后(我完成了一个发布分支时才会这样做)。我猜那个githooks(kernel.org/pub/software/scm/git/docs/githooks.html)是我最好的选择? - drewrockshard


答案:


我最终按照我的预期使用了git hooks。我创造了 pre-commit 钩子并添加以下内容:

#!/斌/庆典
DBUSER = “sysbackup”
DBPASS = “密码”
DB =“数据库名”
SCHEMAPATH = “的dbschema”

mysqldump -u $ DBUSER -p $ DBPASS $ DB> $ SCHEMAPATH / $ DB.sql
git add $ SCHEMAPATH / $ DB.sql
退出0

16
2018-01-22 06:01



谢谢你的解决方案。什么是 exit 0 对于? AFAIK,当脚本结束时,它以状态0退出,不是吗? - leemes
它告诉shell我的脚本正在退出,值为0。 - drewrockshard
是的,但是如果没有,则不是每个脚本都返回退出代码为0 exit 声明?我的意思是:AFAIK你不需要明确地打电话 exit 0 在任何脚本的最后。 - leemes
这是一种很好的做法,不,这不是必需的。 - drewrockshard