Amrinder Singh
Amrinder Singh

Reputation: 5492

How to add a new column in an existing table in Rails 5?

I want to add a new column in one of my table in Rails 5. I recently renamed a column by using the following way:

rails g migration ChangeJobsTable

then in 20160802104312_change_jobs_table.rb:

class ChangeJobsTable < ActiveRecord::Migration[5.0]
  def change
    rename_column :jobs, :skills, :skills1
  end
end

then

rails db:migrate

It worked fine, but now if I want to also add a new column skills2, do I need to do it like this?

class ChangeJobsTable < ActiveRecord::Migration[5.0]
  def change
    add_column :jobs, :skills2
  end
end

Upvotes: 12

Views: 20544

Answers (3)

Aaron Moreno
Aaron Moreno

Reputation: 140

This worked for me and you can verify after in the schema

rails g migration add_skills2_to_ChangeJobsTable skills2:string

rake db:migrate

Upvotes: 1

Samy Kacimi
Samy Kacimi

Reputation: 1238

You indeed forgot the datatype. You can also do it via the console in the future:

rails g migration AddSkills2ToJobs skills2:string

Upvotes: 18

hgsongra
hgsongra

Reputation: 1484

You forgot to add datatype, below is the updated migration.

class ChangeJobsTable < ActiveRecord::Migration[5.0]
  def change
    add_column :jobs, :skills2, :string
  end
end

Upvotes: 16

Related Questions