当前项目有两个数据库,一个开发数据库,一个线上数据,请问,就是新版本迭代时,开发数据库新增表或者修改了表字段,到时同步到线上数据库的时候,你们是怎么做协同的,方便维护这样
1
THESDZ Oct 27, 2020
1.开发使用的语言是否有 sql 管理的插件
2.人肉管理,记录号版本号,和要执行的脚本列表,加入打版流程中 |
2
xuanbg Oct 27, 2020
执行 SQL 脚本啊
|
3
justseemore Oct 27, 2020
|
4
teddy2725 Oct 27, 2020
migration sql
|
5
fly9006 Oct 27, 2020
开发数据库同步更改到生产数据库不合理吧,不应该两个环境独立开吗,开发数据库免不了各种不规范的修改
|
6
xiangyuecn Oct 27, 2020
人肉:
1. 备份线上数据。 2. 导出线上、测试表结构。 3. beyond compare 将两个结构转换成人类肉眼可见的差异。 4. 人类肉眼根据差异一个个把变更手动同步到线上。 升级完成。如果失败:先删库再说。 |
7
anonydmer Oct 27, 2020
有不少 database migration 的方案和工具,搜索即可;基本的原理和思想是版本管理的思路,增量式管理数据库变更
|
8
wangyzj Oct 27, 2020
写成代码
然后 code review 的时候注意影响程度再决定是否使用人肉执行某些部分 |
9
qa2080639 Oct 27, 2020 via Android
navicat 比较结构
|
10
yungo8 Oct 27, 2020 via Android
难道不是 2 楼说的那样?
|
11
wilsonWei Oct 27, 2020
将 sql 文件提交到项目中,并在项目中使用 migrate 中间件,项目运行的时候自动执行 sql 文件,这样可以确保两边的数据库环境完全一致
|