我目前正在重构 Rails 应用程序中使用的表。在整个开发过程中,人们使用了各种不同的方法来创建要在 has_and_belongs_to_many
中使用的连接表。
我应该使用这三种格式中的哪一种;
1 – ID 和时间详细信息
id、table_a_id、table_b_id、created_at、updated_at
2 – ID
id、table_a_id、table_b_id
3 – 仅表 ID
表a_id、表b_id
当前的想法
我倾向于第三种选择,因为在我的应用程序中,我们没有任何地方关心何时建立关系,而且我也没有看到 ID 中的要点,因为我们永远不会直接查询该表。
这是短视吗?包含所有字段的开销将是最小的,但如果它们只是坐在那里不被使用,我宁愿我们没有它们。
最佳答案
当您使用 has_and_belongs_to_many
关联时,第三个选项是最佳选择。除了引用行的外键之外,HABTM 关联表不应包含任何其他数据。
否则,如果您确实想要在两个表之间包含任何类型的关系数据,则可以使用 has_many :through
进行 Rails 关联。
其他引用资源:
关于mysql - 重构 Rails 连接表 – 我应该保留哪种格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31658531/