上线迁库掉坑记
2018-09-06 11:35
495 查看
背景:公司的业务服务系统和业务管理后台(大杂烩)是两个不同的项目,最近在做一件事是把与业务服务没有直接关系的表全部分离出来,独立成一个后台管理库。
2.项目代码修改连接库的适配。
整个任务在昨晚八点上线,过程不是顺利。为了省事,导入数据的时候直接执行了类似下面的sql语句。导完成后以为就完事大吉,但线上项目还是报错。
问题出在内网开发环境的表结构与生产环境不是完全一致,有些表虽然字都一样,但顺序不一样。所以 insert into....select * from 就出问题了,导致表里面存放的数据错位。
2、insert into....select * from 谨慎使用。批量导入数据的时候,尽量指定字段。不要为了省事,上线了再去解决问题。
工作主要分为两件事情:
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
相关文章推荐
- Appstore上线遇到的90034错误
- 2016全新上线 团购商城APP整合订餐外卖APP开发建设,团购商城订餐外卖综合系统开发建设
- 资源协作服务上线,帮你实现更灵活的权限配置与资源共享
- 新360自媒体:北京时间自媒体平台即将上线!
- “聘宝”上线“轻简ATS系统”,在推荐之后增加管理工作,打造一站式智能招聘_36氪
- 新版Azure CDN HTTPS加速服务正式上线
- iOS跳转到AppStore,AppStore检查版本更新(上线会被拒),跳转到设置界面
- 项目在linux上线常用命令
- flow.ci Beta 上线,将开发工作流自动化
- 百家号将于16号上线:自媒体人得到哪些启示?
- 开源中国除了新版博客,还上线了……
- iOS:上线的基本流程
- 暑期兼职“style”上线,你可知关于“兼职”那些不得不说的事
- IOS app 上线
- ReactNative-从0到上线Appstore(2) 箭头函数
- Appstore应用上线流程
- iOS开发打包上线流程
- android 打包上线忘记password 和 alias在有 签名文件的情况下如何找回
- 借助svn进行半自动多台服务器上线部署