数据库-如何用git记录MySQL database scheme 的改变

发布于 2016-12-13 04:49:33 字数 151 浏览 1029 评论 2

团队中基于敏捷开发的概率,产品的迭代周期非常短,每次版本的提交基本都涉及到数据库的改变。
团队中每个成员都在自己的电脑上搭建了开发环境。
请问如何在提交代码的时候把个人环境中的数据库的改变一并提交到git中?
如何让git修改数据库?

谢谢!

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

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

发布评论

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

评论(2

虐人心 2017-04-27 19:47:49

数据库修改是任何一个项目都避免不了的,不管架构多优秀
有个工具叫dbdeploy
专门维护数据库脚本的版本的

建议你们尝试一下,原理和Allo 说的类似,不过工具帮你做了很多工作。

敏捷开发,工具非常重要。
如果都是人来做,就“敏捷”不起来了

另外,让git自动修改是不可能的
但是可以用hudson监控git的变化,当脚本有变化时,调用脚本自动修改数据库
具体看帮助文档吧

瑾兮 2017-03-01 09:16:27

首先明确一点,Git是用来维护代码的,不是用来维护数据库结构的,所以利用GIT或者SVN,只能对数据库结构的SQL语句代码做一定程度的辅助。

推荐的做法是建立一个专门存放数据库结构的文件夹,放置数据表的SQL。

如果任何人对数据库结构有修改,只将修改部分的语句存为SQL文件并提交。

SQL可以以版本号为单位存放,最终可能会形成如下形式:

SQL/main.sql
SQL/upgrade-4.0.0-4.0.1.sql

main.sql存放了初始的数据库结构与数据

upgrade-4.0.0-4.0.1.sql存放语句形如:

ALTER TABLE `mail`
ADD `recipient_total` INT( 10 ) NOT NULL AFTER `recipient_count` ;
...

这样子当数据库结构升级时,Team成员只要更新SQL文件夹下的所有文件,运行当前版本以后的所有SQL就可以升级到新的数据库结构了。

PS:另外敏捷开发和数据库结构的频繁修改没有直接的因果关系,数据库频繁修改只能说明你们的构架上考虑不足。

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