12

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
halfer
  • 19,824
  • 17
  • 99
  • 186
Amrinder Singh
  • 5,300
  • 12
  • 46
  • 88

3 Answers3

18

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

rails g migration AddSkills2ToJobs skills2:string

Samy Kacimi
  • 1,216
  • 9
  • 23
16

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
hgsongra
  • 1,454
  • 15
  • 25
1

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

rails g migration add_skills2_to_ChangeJobsTable skills2:string

rake db:migrate