首页 > 解决方案 > 表记录异常增加:从订单 ID 54 到 86?

问题描述

我有一个托管在 Heroku 中的 DjangoApp。

有一段时间它工作得很好。

最近几天,我看到一个奇怪的“用户”注册了这封电子邮件:“accessto@hidebusiness.xyz”,姓名:“访问”,姓氏:“收件人”。

他/她注册了 2 次:首先是“accessto2”,然后是“accessto3”。

笔记:

用户“accessto2”和“accessto3”没有创建任何订单。所以他/她只改变了我的用户表而不是我的订单表。

在那之后,我的正常订单记录被更改了。在此事件之前,Order.id 增加了 1,但在此事件前后,它从 54 变为 86。为什么?

可能发生了什么?我该如何调试呢?

我需要确保它不会再次发生,因为似乎有订单未保存到数据库中。

标签: djangoheroku

解决方案


尝试创建新订单时,该事件可能导致回滚。

由于 Postgres 和 MySQL 不回滚 id 计数,因此下一个 Order 得到了失败的 id + 1,依此类推。


推荐阅读