gpt4 book ai didi

ruby-on-rails - Rails : storing arrays in DB vs. 建立关系

转载 作者:行者123 更新时间:2023-11-29 13:54:03 25 4
gpt4 key购买 nike

设置:有两个模型具有以下属性。

  1. 个人:姓名、年龄、工作_经验、可用_日期
  2. 工作经验:job_title, starting_date, ending_date

然后,我可以做以下事情

Person
has_many work_experiences

WorkExperience
belongs_to Person

Q1:available_dates 应该是一个属性(array of dates)还是一个 child (例如 Person has_many available_dates)?

问题 2: Person 是否可以拥有 work_experiences 字段,它只是一个对象数组而不是数据库中的单个表?

最佳答案

TL;DR:对于所有设计问题,我认为答案是“视情况而定”。

在第一季度:

这两种方式我都做过。如果我要做出这个决定,我会考虑以下因素:

  • 我是否认为自己会在不久的将来向 available_dates 添加更多信息?例如,可能是位置、时区、通勤距离等会使此数据总体上成为“可用性”。在那里面在这种情况下,我宁愿创建具有关联的单独对象。
  • 我是否发现自己在代码的其他地方重复使用了这些日期?那么我宁愿把它们做成单独的对象并持久化。

在第 2 季度:

我不认为这对你的理智有好处。 DB 具有简单的数据类型,并非旨在保留对象模型。

关于ruby-on-rails - Rails : storing arrays in DB vs. 建立关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35592238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com