在我正在构建的招聘应用程序中,其中一部分涉及用户资源。之后,他们都填写了“通用申请表”。基本上这与任何特定的工作无关,它类似于他们填写一般概况。
有了这个,我可以有一个
用户模型 has_one:Common_app
但是,我可以只拥有一个用户模型,并在用户模型中包含常见的应用信息。
我有点像菜鸟,所以我可能会遗漏一些东西。选择分离结构是否有优势?
答案 0 :(得分:0)
通过一对一的关系,很容易让你的辅助表成为第一个的简单扩展。但是你要问自己它真的是1对1,或者只是1对1“现在”。
例如,如果用户更改了他们的常用应用,您是否只是销毁他们的旧应用并替换它?或者你会停用它,用结束日期标记旧的,并启动一个新的吗?
此外,是否有可能在未来,他们可能有多个?
如果你有任何疑问,我肯定会认为它是一对多,即使目前你只是期望它是1比1。如果您需要它,它可以为您提供在路上的摆动空间,而无需重新设计您的数据结构。
你的很多决定都要记住这一点。您是否“绝对100%积极”,今天的规则将永远存在?如果没有,那么要么在原始设计中建立一个逃生,要么认识到路上的变化可能需要相当多的工作。