大家是如何把开发环境与生产环境表结构合并的?

2020 年 1 月 11 日
 edk24

偶尔会遇到一些二开项目, 需要单独导出一份数据库, 用来二开.

开发完成后, 可能追加了表, 追加 /修改了字段. 大家是怎么把表结构同步到生产环境的呢?

目前我们的做法是, 把变更的字段记录下来. 等部署上线时逐一去修改.

有没有更好的办法 /工具?

4977 次点击
所在节点    问与答
16 条回复
mgcnrx11
2020 年 1 月 11 日
liquibase ?
murmur
2020 年 1 月 11 日
测试环境建表的时候就得准备 sql 语句,然后在仿真环境跑一遍,测试通过才能执行到正式环境
webgrin
2020 年 1 月 11 日
@mgcnrx11 有没有更简单的方法,不依赖特定工具的。同样有数据库合表的这个需求。
liuzhaowei55
2020 年 1 月 11 日
flyway
webgrin
2020 年 1 月 11 日
刚刚看来,Navicat 自带有这个表结构同步工具。商业版也不贵。
felixin
2020 年 1 月 11 日
换用 mongodb ?
295464512
2020 年 1 月 11 日
Navicat 结构同步妥妥的
charlie21
2020 年 1 月 11 日
sql 语句直接操作阿
jugelizi
2020 年 1 月 11 日

你们不先灰度吗
开发直接到生产
JJstyle
2020 年 1 月 11 日
我们是会把每一期的数据库更新写到部署文档去的,领导按照部署文档操作即可。
schemacs
2020 年 1 月 11 日
如果是 mysql 的话 `mysqldbcompare --difftype=sql --run-all-tests --skip-row-count --skip-object-compare --changes-for=server2 --server1=root@127.0.0.1:3306 --server2=root@127.0.0.1:3308 db_online:db_offline`
wwcxjun
2020 年 1 月 11 日
用数据迁移吧(migrate).
Felldeadbird
2020 年 1 月 11 日
我是将每次 更新的 SQL 记录在一个 版本号的 sql。传上线时执行。这样就可以确保不会遗忘了。
tagtag
2020 年 1 月 11 日
一直想用数据库的版本管理工具比如 flyway,但是大家都嫌麻烦。
Ravenddd
2020 年 1 月 11 日
navicat,数据库结构同步,数据同步很好用
efaun
2020 年 1 月 12 日
navicat +1

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

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

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

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

© 2021 V2EX