Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 重构Rails连接表–;我应该保留哪种格式_Mysql_Ruby On Rails_Jointable - Fatal编程技术网

Mysql 重构Rails连接表–;我应该保留哪种格式

Mysql 重构Rails连接表–;我应该保留哪种格式,mysql,ruby-on-rails,jointable,Mysql,Ruby On Rails,Jointable,我目前正在重构Rails应用程序中使用的表。在整个开发过程中,人们使用了各种不同的方法来创建连接表,以便在has\u和\u belient\u many中使用 我应该使用这三种格式中的哪一种 1–ID和时间详细信息 id,表a\U id,表b\U id,创建时间,更新时间 2–ID id,table_a_id,table_b_id 3–仅表格ID 表a\U id,表b\U id 当前思维 我倾向于第三种选择,因为在我的应用程序中,我们不关心什么时候建立了关系,我也看不到ID的意义,因为我们永远不

我目前正在重构Rails应用程序中使用的表。在整个开发过程中,人们使用了各种不同的方法来创建连接表,以便在
has\u和\u belient\u many
中使用

我应该使用这三种格式中的哪一种

1–ID和时间详细信息 id,表a\U id,表b\U id,创建时间,更新时间

2–ID id,table_a_id,table_b_id

3–仅表格ID 表a\U id,表b\U id

当前思维 我倾向于第三种选择,因为在我的应用程序中,我们不关心什么时候建立了关系,我也看不到ID的意义,因为我们永远不会直接查询该表


这是近视眼吗?包含所有字段的开销将是最小的,但是如果它们只是坐在那里不被使用,我宁愿我们没有它们。

当您使用一个
has\u和\u属于\u many
关联时,您的第三个选项是最佳选择。HABTM关联表不应仅包含引用行的外键之外的任何其他数据

否则,如果您确实希望在两个表之间包含任何类型的关系数据,您可以使用
has\u many:through
进行rails关联

供参考的其他资源:


好东西,我们在整个应用程序中使用HABTM,所以这很有意义。