关系数据库和外键

时间:2019-02-06 21:21:49

标签: ruby-on-rails ruby database

我只对Rails中的引用,外键和关联有几个问题。我已经阅读了文档,但仍然有些困惑。

  1. 例如,在迁移中输入t.references :tweets时,为什么在模式中将其变成bigint
  2. foreign key :true是链接两个表的代码的一部分吗?
  3. 除了问题2,belongs tohas many在不同于foreign key true的模型中起什么作用,因为我认为该模式将能够分辨出哪个表{ {1}}和has many取决于另一个表中的ID。

1 个答案:

答案 0 :(得分:2)

默认情况下,由于32-bit unsigned values can overflow and force your database read-only,在版本5.0中,滑行切换到BIGINT

foreign_key: true部分的作用是确保两个表之间的数据完整性。您不能插入不存在的值。

belongs_tohas_many建立相同关系的不同末端。这些不一定是从模式本身直接了解的,通常情况下,这些关系需要使用选项进行自定义。