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