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

2020-01-11 11:13:45 +08:00
 edk24

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

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

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

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

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

你们不先灰度吗
开发直接到生产
JJstyle
2020-01-11 13:12:58 +08:00
我们是会把每一期的数据库更新写到部署文档去的,领导按照部署文档操作即可。
schemacs
2020-01-11 13:35:29 +08:00
如果是 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-01-11 14:01:01 +08:00
用数据迁移吧(migrate).
Felldeadbird
2020-01-11 15:15:31 +08:00
我是将每次 更新的 SQL 记录在一个 版本号的 sql。传上线时执行。这样就可以确保不会遗忘了。
tagtag
2020-01-11 16:15:24 +08:00
一直想用数据库的版本管理工具比如 flyway,但是大家都嫌麻烦。
Ravenddd
2020-01-11 17:18:47 +08:00
navicat,数据库结构同步,数据同步很好用
efaun
2020-01-12 13:34:08 +08:00
navicat +1

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

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

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

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

© 2021 V2EX