方案1: 手工迁移
- 停应用
- 执行sql, 变更表或数据
- 启动应用
方案2: 第三方迁移工具
- 停服
- 使用 goose 执行sql变更文件
- 启动服务
方式3: 应用内集成迁移
即将变更集成到工具里面, 两种方法
- 启动时自动迁移至最新版本;
- 程序子命令或参数手工执行迁移, ‘appname –update’
方式4: 零停机滚动迁移
- 先做非破坏性变更, 如增加字段并填充数据
- 发布兼容版本应用, 即应用同时兼容新旧版本数据
- 修改数据至新版本
- 发布新版本应用
方案5: 迁移与代码分离的独立服务;
执行 cd 发布前先执行一个数据迁移 job