存流水型数据时,关联模型是否需要存一个快照?

比如我一个订单, 关联一个商品, 通常是写个商品id, 但是这个商品日后可能会修改, 那就会有历史订单里面和当时买的时候的信息不同(貌似淘宝是存关联模型中部分数据的快照), 这类数据还有更好的处理方案吗?

Toiu
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 4

我当时做电商的解决方案是:记录下购买商品的ID和商品的具体属性存到快照表,订单里显示的应该是商品的快照,这样假设店家修改过了商品也不会出现啥问题。

6年前 评论

有一种方案是,每次修改商品就记录旧数据为快照。
这个方案的话就需要一个对外展示的 ID,还有一个快照 ID,订单关联的快照 ID。

对比每下一次单就对一件商品记录快照的优点是记录条数会减少很多。

6年前 评论
Toiu

@無限之秋 我看普遍是提供这样的方案.. 那应该是比较好的方案了

6年前 评论
Toiu

@ykenny 好的 谢谢!

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!