2021年11月29日-数据库添加字段设置 not null 引发的问题

181 阅读2分钟

背景

新的需求需要在原有的表中添加新的字段

引发的问题

由于需求比较小,开发leader让我自己和产品过需求。原以为自己将各个方面都想到了。但是在实际开发过程中还是出现了很多想不到的……

问题1:

对于业务场景出现的情况没有分析全面,导致后面开发时再次找产品确认需求,和开发点。

问题2:

没有仔细审视产品流程的逻辑问题,导致后面开发完成,测试中发现了逻辑问题,还好改动点不是很多,但是同样卡了进度。

问题3:

自测不全面,导致一些功能点出现了bug,由于测试匆忙,没有测试到点,最终导致代码上线,我自己发现了功能问题。

问题4:

增加字段设置为不能为null,没有对以前使用这张表的功能模块进行评估,是否造成影响,结果导致上线出现大量sql导致的异常。比较幸运地是所有数据是批量处理的,在正常功能都完成后才进行插入,并且也try{}catch{}了,这才没有对流程造成影响。

总结

从上述问题来看,自己需要改进的地方:

  1. 流程梳理:于产品的prd要仔细审核,对于流程可以通过流程图自己再梳理一遍,并尽可能地分析各种异常情况,然后向产品确认处理方案,确认之后并做记录,这一切完成之后,在开始开发。不要边想边开发。尽量做到对整个流程有个精准的把控

  2. 评估,评估此次需求的改动是否对以前功能模块有影响,比如这次添加字段设置为 not null,就导致了这样的情况。所以一定要想清楚这块逻辑。否则会造成很严重的后果。一定要谨慎

  3. 细致:开发过程要细心,尤其是一些日志的书写,不要写错,并且格式要统一。不要因为着急反而导致更严重的问题。这次比较尴尬的就是,异常两个字我写成了一场,所以一定要细心,不要写代码写给自己挖坑,结果最后反而找不到错在哪儿。最终亲手把自己埋葬

  4. 偶尔喘口气: 有时候项目时间紧,代码写的比较多,脑子就容易犯浑。这个记录在小本本上记录下下一步需要做什么,接着稍稍出去换换气,然后回来再撸,效果可能会比你一味地僵在那里好些。