如何在Rails 5中的现有表中添加新列?

Amr*_*ngh 8 ruby ruby-on-rails rails-migrations ruby-on-rails-5

我想在Rails 5中的一个表中添加一个新列.我最近使用以下方法重命名了一个列:

rails g migration ChangeJobsTable
Run Code Online (Sandbox Code Playgroud)

然后在20160802104312_change_jobs_table.rb:

class ChangeJobsTable < ActiveRecord::Migration[5.0]
  def change
    rename_column :jobs, :skills, :skills1
  end
end
Run Code Online (Sandbox Code Playgroud)

然后

rails db:migrate
Run Code Online (Sandbox Code Playgroud)

它工作正常,但现在如果我还想添加一个新列skills2,我需要像这样做吗?

class ChangeJobsTable < ActiveRecord::Migration[5.0]
  def change
    add_column :jobs, :skills2
  end
end
Run Code Online (Sandbox Code Playgroud)

hgs*_*gra 15

您忘了添加datatype,下面是更新的迁移.

class ChangeJobsTable < ActiveRecord::Migration[5.0]
  def change
    add_column :jobs, :skills2, :string
  end
end
Run Code Online (Sandbox Code Playgroud)


Sam*_*imi 11

你确实忘记了datatype.您也可以在将来通过控制台执行此操作:

rails g migration AddSkills2ToJobs skills2:string