多人开发,数据库结构怎么同步?

2020-01-07 10:17:55 +08:00
 fanpei0121

请问大佬流行的解决方案有哪些啊?

5482 次点击
所在节点    问与答
36 条回复
qmzhixu
2020-01-07 10:49:38 +08:00
navicat 的结构同步工具
SjwNo1
2020-01-07 10:57:44 +08:00
写个 sql 文件?
fanpei0121
2020-01-07 11:01:17 +08:00
比如 A 开发的时候改变了表结构,同事 B 也改变了另一张表的结构。最终数据库怎么把 2 张表的结构统一,有没有解决方法
hsk9044
2020-01-07 11:01:23 +08:00
既然是多人开发, 如果是开发相同功能, 数据库不应该是连同一个吗? 如果是功能不同, 那参考 1#的工具
fanpei0121
2020-01-07 11:07:47 +08:00
@hsk9044 但是本地开发,开发人员都是安装的本地数据库,你的意思是都用一个数据库?
murmur
2020-01-07 11:08:23 +08:00
我们是数据库由专人负责修改
VictorJing94
2020-01-07 11:09:17 +08:00
所以你们数据库也是独立设计嘛[狗头],不都是大佬先开会,统一架构,还有 ER 图,然后确定数据库后再分模块分功能去开发嘛....
fanpei0121
2020-01-07 11:10:59 +08:00
@VictorJing94 额。。。。小公司都是开发人员自己建表。。<(..)>
sxw11
2020-01-07 11:13:07 +08:00
不应该是共用一个开发或者测试数据库吗,人多了本地库很麻烦,非要那样就每个人提交代码的时候把数据库变动的 sql 脚本也提交了
SuperMari0
2020-01-07 11:13:34 +08:00
统一连一个开发用的库就好了
optional
2020-01-07 11:13:37 +08:00
migration,
helionzzz
2020-01-07 11:15:45 +08:00
就算初始数据有出入,所有人数据表结构不应该是一样的么。如果期间发现有要改变的,不应该通知所有人一起改么。。你们开发中间团队完全不交流的?
luckyrayyy
2020-01-07 11:18:44 +08:00
肯定使用公共开发库啊,每人一个本地库也太麻烦了。
fanpei0121
2020-01-07 11:20:04 +08:00
@luckyrayyy 是的,决定都连测试服数据库了
evlos
2020-01-07 11:20:11 +08:00
Migration
di94sh
2020-01-07 11:23:33 +08:00
如果是 django orm 或者 sqlalchemy 这种 migrate 做的比较完善,migrate 文件 有单独的文件夹存放. merge 了代码运行迁移脚步就好了。如果用的数据库工具没有 migrate 功能,可以用 sqlalchemy 的迁移工具 alembic 需要自己手写迁移脚步,其实就是 DDL
opengps
2020-01-07 11:24:06 +08:00
共享连接同一个数据库
Orenoid
2020-01-07 11:37:19 +08:00
把数据库结构纳入版本管理
oatw
2020-01-07 11:39:12 +08:00
看到这个问题,再次庆幸自己选择 Rails 作为后端开发的主要工具。
wangkun025
2020-01-07 11:40:51 +08:00
rails 用 migration。
但偶尔也会出问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/635692

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX