在铁路应用中处理品牌,产品,购买和商店的最佳方式是什么。我的问题和设置类似于Basic Rails 3 question: How to sort products?。我想主要的区别在于我应该如何跟踪价格变化以及产品的变化。我想的设置如下:
- 品牌 - 名称,名称。 has_many:产品
- 产品 - id,brand_id,名称。 belongs_to:brand,has_many:stores
- 商店 - ID,名称。 has_many:产品
- Line_Item - id,product_id,purchase_id,数量,价格,变化。 belongs_to:购买
- 购买 - id,store_id,customer_id,:line_item_id。 belongs_to:store,belongs_to:customer,has_many:line_items
我知道我的伪代码不太正确,但这是一种聪明的设置方法吗?令我担心的一件事是当人们购买相同的产品时,line_items表似乎有很多相似/重复的条目。我被告知这是一个很好的表,可以跟踪产品变化和价格变化。关于如何改进我的设计的任何想法?