在 Rails 5 中添加引用列迁移

Posted

技术标签:

【中文标题】在 Rails 5 中添加引用列迁移【英文标题】:Add a reference column migration in Rails 5 【发布时间】:2017-02-17 16:03:07 【问题描述】:

一个用户有很多上传。我想在引用用户的上传表中添加一列。迁移应该是什么样子?

Rails 3 的相关问题:Rails 3 migrations: Adding reference column?

Rails 4 的相关问题:Add a reference column migration in Rails 4

Rails 6 的相关问题:How to add reference column migration in Rails 6 with SQLite

【问题讨论】:

【参考方案1】:

与之前的 Rails 版本一样,您可以使用以下命令来创建迁移:

rails g migration AddUserToUploads user:references

与之前的 Rails 版本不同,迁移如下所示:

class AddUserToUploads < ActiveRecord::Migration[5.0]
  def change
    add_reference :uploads, :user, foreign_key: true
  end
end

【讨论】:

以上是关于在 Rails 5 中添加引用列迁移的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5:为啥即使我删除了迁移文件,rails 也会向 schema.rb 添加列

如何在 Rails 迁移中添加检查约束?

Rails 5 - 如何添加UUID列

Rails 3 迁移:添加参考列?

添加带有rails迁移错误的整数数组列

Ruby on Rails:如何使用迁移向现有列添加非空约束?