在发票应用程序中,请考虑以下事项:
我有一个产品表,其中还包含产品的价格。然后我有一个 invoice 和 invoice_lines 表,在每个发票行中,我参考产品 ID 和数量。在这种情况下,我没有将产品价格与发票行一起存储。
现在几个月后,如果产品的价格发生变化,任何报告都会显示基于当前价格的销售量,而不是产品实际销售的价格。
我想到的一个解决方案是,我们保留一个名为价格的单独表,该表链接到每个产品,并且每当产品的价格发生变化时,都会在此价格表中插入一条记录。此表中的最新记录始终被视为新发票的当前价格。每个发票行通过指示价格的 ID 来指示其价格,以便稍后在报告中正确显示。
处理此类情况的最佳做法是什么?