我只对Rails中的引用,外键和关联有几个问题。我已经阅读了文档,但仍然有些困惑。
t.references :tweets
时,为什么在模式中将其变成bigint
?foreign key :true
是链接两个表的代码的一部分吗?belongs to
和has many
在不同于foreign key true
的模型中起什么作用,因为我认为该模式将能够分辨出哪个表{ {1}}和has many
取决于另一个表中的ID。答案 0 :(得分:2)
默认情况下,由于32-bit unsigned values can overflow and force your database read-only,在版本5.0中,滑行切换到BIGINT
。
foreign_key: true
部分的作用是确保两个表之间的数据完整性。您不能插入不存在的值。
belongs_to
和has_many
建立相同关系的不同末端。这些不一定是从模式本身直接了解的,通常情况下,这些关系需要使用选项进行自定义。