网上商店产品版本

时间:2016-10-28 18:38:12

标签: php mysql database laravel laravel-5.3

下面你可以看到我的数据库中负责存储订单的部分。

database schema 简短说明

  • 用户可以有多个订单
  • 用户每天只能拥有零个或一个订单(user_id +年+月+天 - >唯一)
  • 产品有价格,但每个用户可以为每种产品设定特价
  • 产品可能有容器(例如啤酒箱)

问题

  • 显然,如果产品发生变化,之前发出的订单也会发生变化(这可能会影响已售出产品的价格)

可能的解决方案

  • 复制所有产品列并将其保存在order_items中,但我还需要复制containers的所有列。由于产品只是偶尔改变,我认为每个订单保存当前产品状态的开销很大。

  • productscontainers实施某种版本控制。 然后,每个order_item将引用当前的状态 产品

结论

第二个解决方案似乎是一个使用的解决方案,但我几乎坚持这种尝试,因为我无法找到一种方法,在我的情况下。我还需要为containers进行版本控制,然后仍然需要与product_user的特殊价格兼容。

请注意containers以后可能会有其他专栏!

希望有一些数据库专家可以帮助我..

提到的解决方案是我能想到的唯一两个,随意提出完全不同的方法!

P.S。我在我的项目中使用Laravel 5.3以及所有相关的数据库命名约定。

0 个答案:

没有答案