Files
ARTEX-chixuweihu/db
luckoneandClaude Code 18589b270e fix(db): 修正公司 ICP 归属用例连接关闭顺序导致的资产残留
清理注册在 t.Cleanup 里,而连接关闭用的是 defer d.Close()。defer 在函数
返回时先执行、t.Cleanup 在其后,于是两条 DELETE 全部落在**已关闭的连接**
上,错误又被 `_, _ =` 丢弃,测试资产与公司因此永久残留在库里。

该用例用 MAX(companies.id)+1 当假 TaskID 给资产打标。残留本身不会立刻报错,
但一旦这个数字与其他用例的任务 id 相撞,那个按「恰好 N 个资产」断言的用例
就会失败,而现象(某个无关测试的资产计数不对)与原因(另一个测试的连接
关闭顺序)相距极远,排查成本很高。

改为关闭连接也走 t.Cleanup 并注册在清理之前(t.Cleanup 后进先出,保证清理
先跑),同时让清理失败显式报错而不是被吞掉。

注:同一模式(defer d.Close() + 在 t.Cleanup 里写库)在 db 包另有十余处,
本次只修被实证触发的那一处。

Co-Authored-By: Claude Code <[email protected]>
2026-09-30 16:24:47 +08:00
..
2026-08-28 07:37:24 +08:00
2026-07-26 04:27:45 -04:00
2026-08-28 12:56:29 +08:00
2026-07-26 04:27:45 -04:00
2026-07-26 04:27:45 -04:00
2026-07-26 04:27:45 -04:00
2026-08-28 12:56:29 +08:00
2026-08-28 12:56:29 +08:00
2026-07-26 04:27:45 -04:00
2026-08-25 12:05:26 +08:00
2026-08-28 12:56:29 +08:00
2026-08-25 12:05:26 +08:00