昨天把设备标识从 ID 改成 GUID,随后又回滚了。
不是方向错,而是改动跨过了太多边界:数据库、接口、缓存和前端并没有在同一个时刻准备好。
这次 Revert 提醒我,重构是否正确与它能否安全落地,是两个问题。
以后再做类似迁移,我会先兼容双标识,再迁移读路径,然后迁移写路径,最后删除旧字段。让每一步都可验证、可停留,也可回退。
版本控制允许我们撤销代码,但真正应该撤销的,是“一次必须改完”的冲动。
昨天把设备标识从 ID 改成 GUID,随后又回滚了。
不是方向错,而是改动跨过了太多边界:数据库、接口、缓存和前端并没有在同一个时刻准备好。
这次 Revert 提醒我,重构是否正确与它能否安全落地,是两个问题。
以后再做类似迁移,我会先兼容双标识,再迁移读路径,然后迁移写路径,最后删除旧字段。让每一步都可验证、可停留,也可回退。
版本控制允许我们撤销代码,但真正应该撤销的,是“一次必须改完”的冲动。
作者: Xn
文章链接: http://xuannn.top/2026/02/04/%E4%B8%80%E6%AC%A1Revert%E6%8F%90%E9%86%92%E6%88%91%E7%9A%84%E4%BA%8B/
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 4.0 协议。转载请注明出处!