the*_*ien 2 ruby ruby-on-rails ruby-on-rails-3
我正在尝试确定Rails是否具有每个数据库条目的内置主键ID,或者,如果在运行时rails generate我必须明确定义ID,例如id:integer.到目前为止,我已经遇到了很多帖子,询问如何更改主键行为或如何创建多列索引,但没有说明Rails默认如何处理主键,实际上它确实如此.
如果仅仅是id:integer在运行时使用的问题rails generate还有什么必要来确保将列用作主键吗?我已经看过:primary => true提到但很少解释为什么它包含在任何特定的例子中.通常它是处理上述多列索引的解释的一部分.
您do not需要id在迁移中显式定义列,因为Rails会处理这一点.对于您创建的每个表,Rails都会创建一个id:integer列作为主键.Rails不显示它migration file或schema.rb,但你可以去rails dbconsole检查模式.