1
Livid MOD 用文档记录所有要在线上进行的更新,然后按照文档执行。这份文档有靠谱同事把关审核。把执行结果也记录到文档。并且,最好稍微思考一下如果执行失败的回退方案是什么。
|
2
laomo 2014-02-10 11:27:18 +08:00 1
以前给银行做开发,都是在测试环境写好升级脚本和回滚脚本。升级上线是如果出现问题,立即回滚,保证不影响正常使用
|
3
jianghu52 2014-02-10 11:27:59 +08:00
我所接触到的项目有过这么一个经历,他们的做法是先做一个短时间段的固定IP段的测试,然后把数据手工同步到老库里面,然后逐渐延长时间段,一般是要跑大概1个月左右,然后再全部跑新库,最后老库的数据一直要同步半年以上,才放弃,同时这两个库都是raid备份的。
|
4
workaholic 2014-02-10 11:38:13 +08:00
类似于@Livid , 最重要的是提前备份。 我这里是写一个“上线单”,里面记录所有的变更细节,变更那些表,执行哪些sql,覆盖哪些文件(目录的差异包),并写上更新文件的md5校验值。之后打包发给运维,运维拿到经过审核后就直接用差异包覆盖线上的相应目录,这样变更的文件就更新了。
|
5
SatFeb1 2014-02-10 11:41:37 +08:00
Rails Migration
|
6
loading 2014-02-10 14:38:58 +08:00 via iPhone
nginx直接切换到新地址,数据保持好。
可惜必须停服务,数据库太难处理,其他都好。 |
7
kingwkb 2014-02-10 14:47:14 +08:00
Rails Migration 已经帮你做好一切,包括回滚
|