☰
测试服正常,正式服异常排错流程
2026/10/17 7:57:59 网站建设 项目流程

目录

一、问题

二、基本流程

三、我今天遇到的问题

四、总结


一、问题

产品突然说正式服的功能有问题:添加数据提示添加失败;测试服是正常的。一开始脑子有点懵,合理怀疑所有的可能性但是处理效率明显低下,所以总结一下更加顺畅的流程,避免下次遇到同类 问题不知所措。

二、基本流程

1. 让提出问题的人给出明确的操作步骤和问题说明

2. 如果有正式服权限,自己试一下是否正常: 功能是否上线

3. 正式服和测试服的代码,表结构是否一致

4. 查看操作日志,看一下是否有报错,接口的传参是否正常

5. 正式服和测试服数据库配置是否一致:对于同样的数据宽松模式下可以插入,严格模式下无法插入

SELECT @@GLOBAL.sql_mode; SELECT @@SESSION.sql_mode;

三、我今天遇到的问题

因为产品说下午就要用,只有40分钟时间排查。直接让AI看了 代码、表结构一致;感觉很蒙圈。

1.怀疑代码没有部署成功:但是界面上有新内容,不能一半成功,一半失败吧?
2.怀疑数据库表不一致:自己对比了完全一致

3.怀疑操作不对:操作日志显示几次提交的参数都是 完全相同的,但是和产品说了问题之后她重新截图才知道她的操作和我想的不一样:我以为都是新增的,但她的是一条编辑,一条新增。所以参数完全相同的说法不对

4.参数看着也没有问题,最后问AI才知道 可能是 正式服使用了严格模式:对于NOT NULL DEFAULT "'1000-01-01 00:00:00'"定义的字段,必须传非空的参数(必须有值,不能是"")

测试服使用非严格模式传了""会自动转换成 零值(例如0000-00-00:00),所以能够正常加入

可以使用如下sql查看是否开启严格模式:

SELECT @@GLOBAL.sql_mode; SELECT @@SESSION.sql_mode;

四、总结

1.人和人交流的时候可能是四个人在交流:我认为的我,他认为的他,他认为的我,我认为的他。排查问题前还是先明确具体的问题和操作路径才能有效避免排查方向错误。

2.对于代码完全一致的情况下,需要考虑数据库表结构不一致,还有数据库配置不一致的情况。(我自己没有意识到数据库配置不一致这个问题,一直觉得自己没有问题🤐,还是太自以为是了)

3.排查流程:确定问题及操作步骤-> 代码,表结构 -> 操作日志 -> 数据库配置等环境问题

/*

希望对你有帮助!

如有错误,欢迎指正,谢谢!

*/

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询