昨天把设备标识从 ID 改成 GUID,随后又回滚了。

不是方向错,而是改动跨过了太多边界:数据库、接口、缓存和前端并没有在同一个时刻准备好。

这次 Revert 提醒我,重构是否正确与它能否安全落地,是两个问题。

以后再做类似迁移,我会先兼容双标识,再迁移读路径,然后迁移写路径,最后删除旧字段。让每一步都可验证、可停留,也可回退。

版本控制允许我们撤销代码,但真正应该撤销的,是“一次必须改完”的冲动。