【发布时间】:2016-07-13 07:24:52
【问题描述】:
我有 n 个代表订单的模型,例如EbayOrder 和 AmazonOrder。每个订单模型的字段略有不同,但它们都代表相同的基本事物,即订单。
问题是我经常需要查询我的所有订单以在视图中显示它们,将费用和销售总额相加,并对它们执行其他分析。当模型是单独的实体时,这样做很棘手。
以下是我考虑过的一些选项:
性传播感染
STI 表可能有几十列宽。
保留单独的模型,但生成具有标准化数据的副本 Order 模型
这将是一个从属“通用”模型,它将是每种订单类型的一对一副本,但具有更规范化的更清洁数据。我不喜欢这个选项,因为需要重复数据。
将所有订单类型标准化为单个Order 模型
如果数据足够相似,那将是理想的选择,但它们在订单类型之间存在很大差异。
【问题讨论】:
标签: ruby-on-rails ruby database activerecord database-design