Add a reference column migration in Rails 5

kkurian picture kkurian · Oct 9, 2016 · Viewed 27.6k times · Source

A user has many uploads. I want to add a column to the uploads table that references the user. What should the migration look like?

Related question for Rails 3: Rails 3 migrations: Adding reference column?

Related question for Rails 4: Add a reference column migration in Rails 4

Answer

kkurian picture kkurian · Oct 9, 2016

As with prior versions of Rails, you may use the following command to create the migration:

rails g migration AddUserToUploads user:references

Unlike prior versions of Rails, the migration looks like:

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