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

发布于 2022-08-27 13:12:10 字数 180 浏览 17 评论 0

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

〗斷ホ乔殘χμё〖 2022-09-03 13:12:10

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都要变成你自己的。

吲‖鸣 2022-09-03 13:12:10

支持@samoay 的答案。
但是有一点提示,pre-commit的钩子是客户端的钩子。
如果你的共同开发者需要用,你要把这个钩子文件复制给他们。

等你爱我 2022-09-03 13:12:10

git hooks是你的好伙伴

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文