Rails迁移:外键和索引列字段

时间:2017-07-18 17:44:45

标签: ruby-on-rails database model migration

我开发了一个Ruby on Rails 5应用程序并将其部署到生产环境中,运行rake db:migrate后我注意到我没有使用 foreign_key:true 而且索引:我的表之间的一般关系是真的。问题是:这是否会影响数据库性能,是否应该生成新的迁移只是为了向我的列添加索引和外键引用?提前谢谢。

2 个答案:

答案 0 :(得分:0)

From Ruby on Rails guide

2.2架构约定

Active Record使用数据库表中列的命名约定,具体取决于这些列的用途。

  

外键 - 这些字段应按照模式命名   singularized_table_name_id(例如,item_id,order_id)。这些是   创建关联时Active Record将查找的字段   在你的模特之间。

     

主键 - 默认情况下,Active Record将使用整数列   将id命名为表的主键。使用Active Record时   迁移创建表,此列将自动进行   创建

您必须了解有关ActiveRecord的更多信息,请查看其工作原理here

我建议您阅读belongs_tohas_many关系

答案 1 :(得分:0)

取决于您要做什么,如果您需要使用外键,则需要创建这些迁移,否则您将无法访问它们。

当谈到数据库性能时,它并不重要