dev.to | 📄 原文链接 | 2026-10-17 收录

bug 活在接缝上,不在逻辑里

来源:dev.to — 2026-10-16

📋 概述

加密后的密钥是 bytes,在内存存储里往返完全正常,单元测试全过;到了 Postgres,那一列是 JSON,而 bytes 不是 JSON 可序列化的,密钥存储恰好炸在内存测试从不跨越的那条边界上。这是作者对 HivePlane v0.2.0 现场测试总结出的模式:难的部分不是逻辑,而是数据模型与边界,每个缺陷都是一个在 Python 里没问题、下一步就崩的值。他列出一张按接缝类型分类的表:密文是 bytes 而 Postgres 的 JSON 列拒绝二进制;desired_specs 行按 id 建键,第二个数据源撞上主键冲突,暴露了「id」与「唯一性」被当成同一个字段;禁用开关的记录存在,但 GET /tools/disabled 返回的列表里包含启用的工具,因为端点报告的是记录而不是状态;删除一个有运行记录的工作负载返回原始的 500 外键违反,而不是带原因的 409;备份清单把 alembic_head 钉在 0034 而线上 schema 头是 0035,恢复会落在错误的 schema 上。

🔑 核心要点

💡 金句

你的内存存储与 Postgres 共享的是接口,不是序列化——在内存里能往返的值,可能在 JSON 列上失败。
← 返回 dev.to 首页