现在创建 model 的过程中,如果添加关联的时候,migration 会出现一个:
add_foreign_key "products", "users"
类似这样的东西,翻看了一下,没搞懂add_foreign_key的foreign_key的作用是什么呢?
add_foreign_key
foreign_key
http://stackoverflow.com/questions/27201054/rails-4-2-foreign-key
http://robots.thoughtbot.com/referential-integrity-with-foreign-keys
大概是说用 foreign key 能保证两个表的数据同步,不会有坏链接之类的意思吧?我对数据库也不算熟
数据库层面的约束吧
#1 楼 @blacktulip #2 楼 @yukihiro_matz #3 楼 @leomayleomay 其实 thoughtbot 的文章也看过,毕竟数据库的东西还是不熟,感觉就是在没有 foreign_key 的时候,建立两个表的联系只是 rails 层的模拟,如果把 foreign_key 加上了,就在数据库层也建立了联系,貌似这样是比较好的事情。 可是根据搜索,或创建层面来说,会产生什么影响呢?就像加了索引,搜索快了,插入和删除慢了,之类的影响有没呢?为什么 rails 到 4.2 版本才把这个事情加进来呢?