一个还没有完成工作的复盘(二)-上线篇

梦浪的小虾米
2022-06-12 / 0 评论 / 939 阅读 / 正在检测是否收录...

前言

前一篇文章不是说有一个商城要上线吗?具体点击这里查看
经历了放假+其他事情的干扰,这个项目终于上线了。所以这篇文章是上线后的问题复盘

正文

废话不多说,直接上正文

项目上线后,遇到的问题有:
1.因为开发时间极短,而项目极其庞大,导致了很多细小的极限值没有考虑到,最典型的就是 where条件没有写好.
需求:查询当前用户在当天内是否下过订单()
当时开发的时候写的where

where porderid =1 and cid = 2 and (addtime >= 2022-06-12 00:00:00 or addtime<=2022-06-12 23:59:59) 

事后反馈了问题,然后的时候,才发现,忘了写订单状态,未付款订单,取消的订单都被加进去了
后来改成了:

#(这里不用考虑取消)
where porderid =1 and cid = 2 and (addtime >= 2022-06-12 00:00:00 or addtime<=2022-06-12 23:59:59) and status != 5 

2.服务器报各种 mysql 字段错误。错误描述:扣减金额的时候,金额已经不够扣了,但是接口没有处理,还是直接在数据库扣。并且也没有写事务和并发限制.
解决方案:
改成了事务+try catch + where。 where条件里面加 where amount>=need_amount(need_amount 为需要的金额数)

3.服务器代码更新的时候,不要使用一键懒省事的更新,而是要通过提交日志确认自己要更新的文件。
通过 svn/git 提交日志获取到自己修改的文件,然后把文件整理成更新命令并在服务器上更新这些命令。
原因:
我们会在服务器上修改一些生产的配置,如果使用一键更新的时候,同事可能会修改这个文件,并且不小心把这个文件给提交了

4.因为失误,导致了一堆错误金额。比如返利判断写错了,给用户多发钱了,一定要仔细看自己的返利判断,不然写补救脚本的时候就难受了,因为补救脚本可没有人给你测试了,并且还要自负风险,所以一定要备份数据库。

5.操作数据库前,一定要备份。不然会因为你的各种疏忽导致数据错乱的时候,你想恢复都恢复不了。

6.尽量多手写一些查询 sql, 因为真的能锻炼自己的 sql 水准

还有下一篇?

不一定,如果还遇到问题的话,我会抽空更新,抽空复盘。这周7天,我上了7天班,通宵了三天,所以真不一定有时间更新,但是更新也是对自己的知识的一种复盘。

0

评论 (0)

取消