我想找到以下用例的最佳实践(这里非常简化):
我有三张桌子:
表“订单”:
表“order_products”:
表“产品”:
表“供应商”:
显然这些表是连接的,一切都很好。
现在让我们说订单已经完成。 之后产品数据被更改或其他供应商接管已完成订单的产品。
为已完成的订单保留数据的最佳做法是什么?正如我所说,上述结构非常简单。实际上有30个连接表。
到目前为止,我正在考虑两种方法: - 将订单表中的所有数据(产品,供应商......)保存在JSON数据类型字段中 - 拥有一个版本控制系统,可以保存所有连接表中的每个记录更改,例如order_products表可以引用product_id + record-version-combination
虽然
,但这两种方式对我来说都有些过分