2014-03-06 40 views
2

我试图确定Rails是否有每个数据库条目的内置主键ID,或者如果在运行时需要明确定义id:integer等ID。到目前为止,我已经运行了很多帖子,询问如何更改主键行为或者如何创建多列索引,但是没有说明Rails如何默认处理主键,事实上,它确实如此。我是否需要在Rails迁移中显式创建ID?

如果只是在运行时使用id:integer的问题rails generate是否还有其他必要的事项来确保将该列用作主键?我已经看到:primary => true提到但很少解释为什么它被包含在任何特定的例子中。通常它是处理上述多列索引的解释的一部分。

回答

5

do not需要在您的迁移中明确定义列id,因为Rails会照顾到这一点。对于您创建的每个表,Rails都会创建一个id:integer列作为主键。 Rails不会在migration fileschema.rb中显示它,但可以转到rails dbconsole并检查架构。

+0

优秀。谢谢。理智跟踪:当Rails处理它时,唯一性也得到了保证? – theillien

+1

是。主键=独特+非空 –

+0

再次,谢谢。 – theillien

相关问题