偶尔会遇到一些二开项目, 需要单独导出一份数据库, 用来二开.
开发完成后, 可能追加了表, 追加 /修改了字段. 大家是怎么把表结构同步到生产环境的呢?
目前我们的做法是, 把变更的字段记录下来. 等部署上线时逐一去修改.
有没有更好的办法 /工具?
1
mgcnrx11 2020-01-11 11:19:00 +08:00 via iPhone
liquibase ?
|
2
murmur 2020-01-11 11:20:42 +08:00
测试环境建表的时候就得准备 sql 语句,然后在仿真环境跑一遍,测试通过才能执行到正式环境
|
4
liuzhaowei55 2020-01-11 11:34:25 +08:00 via Android
flyway
|
5
webgrin 2020-01-11 11:36:22 +08:00 1
刚刚看来,Navicat 自带有这个表结构同步工具。商业版也不贵。
|
6
felixin 2020-01-11 11:39:58 +08:00 via Android
换用 mongodb ?
|
7
295464512 2020-01-11 11:42:13 +08:00
Navicat 结构同步妥妥的
|
8
charlie21 2020-01-11 12:11:46 +08:00 via Android
sql 语句直接操作阿
|
9
jugelizi 2020-01-11 12:22:24 +08:00
哦
你们不先灰度吗 开发直接到生产 |
10
JJstyle 2020-01-11 13:12:58 +08:00 via iPhone
我们是会把每一期的数据库更新写到部署文档去的,领导按照部署文档操作即可。
|
11
schemacs 2020-01-11 13:35:29 +08:00 2
如果是 mysql 的话 `mysqldbcompare --difftype=sql --run-all-tests --skip-row-count --skip-object-compare --changes-for=server2 [email protected]:3306 [email protected]:3308 db_online:db_offline`
|
12
wwcxjun 2020-01-11 14:01:01 +08:00
用数据迁移吧(migrate).
|
13
Felldeadbird 2020-01-11 15:15:31 +08:00
我是将每次 更新的 SQL 记录在一个 版本号的 sql。传上线时执行。这样就可以确保不会遗忘了。
|
14
tagtag 2020-01-11 16:15:24 +08:00
一直想用数据库的版本管理工具比如 flyway,但是大家都嫌麻烦。
|
15
Ravenddd 2020-01-11 17:18:47 +08:00 via Android
navicat,数据库结构同步,数据同步很好用
|
16
efaun 2020-01-12 13:34:08 +08:00
navicat +1
|