Search code examples
rails-activerecordruby-on-rails-5rails-migrations

Add a reference column migration in Rails 5


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

Related question for Rails 6: How to add reference column migration in Rails 6 with SQLite


Solution

  • 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