将句点作为单独的模型/表格是常见的

时间:2012-04-05 06:48:30

标签: ruby-on-rails database-design

我正在尝试重构一个半完成的项目。原始开发者离开了。在他的模型设计中,使用了单独的“周期”模型。因此,折扣对象具有可用期间,并且事件可以具有期间

期间表:

  create_table "periods", :force => true do |t|
    t.integer  "owner_id"
    t.string   "owner_type"
    t.datetime "begin"
    t.datetime "end"
    t.datetime "created_at",                               :null => false
    t.datetime "updated_at",                               :null => false
  end

我开始觉得根据日期编写列表查询很困难。我需要加入期间表并对该结束日期字段进行排序。

我想问的是:这种方法的优点/缺点是什么?我觉得将它们移回归属模型更有意义。

1 个答案:

答案 0 :(得分:1)

制作period表不一定是一种奇怪的做法:只要将这种信息传递给项目开发人员的继承人。

如果您想了解在给定时间段内发生的所有,例如6月,那么表格的划分就非常有意义了。

所以我的观点是,我猜这是关于沟通和需求的。如果您不再需要该功能,我建议迁移向所有与句点begins_atends_at相关的多态表添加两个新列,然后将句点表中的所有数据迁移到那些方面的专栏。