上线迁库掉坑记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上线迁库掉坑记相关的知识,希望对你有一定的参考价值。
背景:公司的业务服务系统和业务管理后台(大杂烩)是两个不同的项目,最近在做一件事是把与业务服务没有直接关系的表全部分离出来,独立成一个后台管理库。
工作主要分为两件事情:
1.建新库,导表结构,导数据。
2.项目代码修改连接库的适配。
整个任务在昨晚八点上线,过程不是顺利。为了省事,导入数据的时候直接执行了类似下面的sql语句。导完成后以为就完事大吉,但线上项目还是报错。
insert into `yundou_management`.`admin_permission` select * from `yundou_v3`.`admin_permission`;
问题出在内网开发环境的表结构与生产环境不是完全一致,有些表虽然字都一样,但顺序不一样。所以 insert into....select * from 就出问题了,导致表里面存放的数据错位。
结论:
1、多检查开发环境和生产环境的表是否完全一致。
2、insert into....select * from 谨慎使用。批量导入数据的时候,尽量指定字段。不要为了省事,上线了再去解决问题。
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
以上是关于上线迁库掉坑记的主要内容,如果未能解决你的问题,请参考以下文章