我正在尝试确定 Rails 是否为每个数据库条目都有一个内置的主键 ID,或者在运行 rails generate
时我是否必须显式定义一个 ID,例如 id :整数
。到目前为止,我已经看到很多帖子询问如何更改主键行为或如何创建多列索引,但没有说明 Rails 默认情况下如何处理主键(如果确实如此的话)。
如果只是在运行 rails generate
时使用 id:integer
是否还有其他必要的东西来确保将列用作主键?我见过 :primary => true
被提及但很少解释为什么它包含在任何特定示例中。通常它是处理上述多列索引的解释的一部分。
最佳答案
您不需要
在迁移中显式定义列id
,因为Rails 会处理这件事。对于您创建的每个表,Rails 都会创建一个 id:integer 列作为主键。 Rails 不会在迁移文件
或schema.rb
中显示它,但您可以转到rails dbconsole
并检查架构。
关于ruby-on-rails - 我是否需要在 Rails 迁移中显式创建 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22212801/