Date: 10/22/2026Category: GoWind风行Tag: Golang, GoWind, 记账, 数据一致性
本文回答一个问题:记账 App 的"账户余额"到底是算出来的还是存出来的?选了"存出来的",删除、修改、确认这些操作要付出什么代价?
GoWind Ledger(风行记账,单式记账:支出/收入/转账/调整四类流水)的核心设计是冗余余额列——账户表上存 balance,流水增删改时手工维护它。这篇拆它的余额维护机制(confirm 确认流、RefundBalance 补偿、copy-then-delete 更新),也如实拆它的三条裂缝——一条没能回滚的调整流水、两段没进事务的余额操作。设计取舍与已知缺陷放在一起讲,比只讲光鲜面有用得多。
