我有一张名为people
的表格
每个person
可以是client
,manager
,accountant
或三者的任意组合。
除了people
表中的列之外,它们每个都有特殊的表列。
我现在正在做的是在每个表中使用person_id
...但我认为使用相同的表并且每个表使用不同的模型会更简单,所以我可以单独管理它们。
我应该这样做吗?
答案 0 :(得分:2)
你没有一个好的继承层次结构,所以我不认为STI适用。例如,在(单一)继承方面,您如何代表既是经理又是会计师的人?
如果一个人只能拥有这三个角色中的一个,那么STI可能会有意义;但是即使那时使用继承实现角色也应该引发警告,你应该知道一个人迟早会需要多个角色(并且在交付后它可能会立即变成一个关键的必需品)。