【问题标题】:Rails Migrations: Foreign key and indexing column fieldsRails 迁移:外键和索引列字段
【发布时间】:2017-07-18 17:44:44
【问题描述】:

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

【问题讨论】:

    标签: ruby-on-rails database model migration


    【解决方案1】:

    From Ruby on Rails guide:

    2.2 架构约定

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

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

    主键 - 默认情况下,Active Record 将使用整数列 命名为 id 作为表的主键。使用活动记录时 Migrations 来创建你的表,这个列会自动 已创建。

    你必须知道更多关于ActiveRecord的信息看这里here是如何工作的

    我建议您阅读有关belongs_tohas_many 的关系

    【讨论】:

      【解决方案2】:

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

      当涉及到数据库性能时,这并不重要

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-07-24
        • 2015-03-01
        • 2019-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多