杂谈: 记一次深夜发版经历

如果说上帝给你关上了一扇门,那他一定会给你打开另一扇窗。

现在时间是
在这里插入图片描述
作为一个牛(菜)逼(鸟)的后台开发工程概师,看时间从来都是datetime.now()。


嘿嘿,开个玩笑。
辛辛苦苦码了一个月的代码,今晚上终于要上线了。真香。
怀着期待和忐忑的心情迎来了十二点。。。ok。

  • 在生产库中新增三张表,修改一个的默认值,新增三个字段。

新增表的操作还算顺利,基本上没啥出入,就是今天下午在写建表sql的时候耗费了不少的脑细胞。主要是公司使用了一个sql代码检测平台,必须要严格遵守其规定才可以进行sql的提交,这样子也好,最起码让自己知道了sql的严格规范。

然后顺着思路往下走。
停服,改数据库,推代码。

问题来了!!!

在给一张表新增字段的时候,表中记录了所有用户的申请信息,五百多万条数据,将近六十G,然后被卡住了。。。狗子的被卡住了,一个多小时都没有好,心慌慌,只能等,大佬在考虑是否要kill掉他,我也是心慌慌,毕竟是我开发的从头到尾都在负责的,不能走啊。然后就没有然后了,还在解决。后续有解决办法的话我会跟进起来。

希望接下来的步骤不要有其他问题啦!


今天睡起来就十二点了,中午吃了饭到公司。还是有个bug,不过老大哥已经帮忙解决了。

  • 起因:在新版本中增加了和老版本的类型区分,为了配合java,又不想做太过于多余的代码,所以在老版本上做了兼容。我使用了 type 字段来区分新老版本,但是在开发的时候忽略了type在python中是关键字,在类中调用的时候self.type少了self,然后导致了很多件被卡。
  • 经过:还有一个是自己为了适配客户端的sql审核,手动加了默认值和字段定义,导致了自己通过orm新增数据的时候因为不能为null插入失败,造成可控范围内的影响。
    期待接下来的全面上线吧!!!

昨晚上学到的技术总结

  1. sql
    alter 中,alter/change/modity,是有区别滴。
    alter修改默认值,不改字段定义,modity可以修改结构的定义。
ALTER TABLE
  credit_output
MODIFY
  COLUMN `error_msg` varchar(64) DEFAULT NULL COMMENT '错误信息',
MODIFY
  COLUMN `last_func` varchar(64) DEFAULT NULL COMMENT 'last func'
  1. 一定不要使用关键字
  2. 数据库表结构和字段定义一定要谨慎
发布了57 篇原创文章 · 获赞 23 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览