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

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

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

rails g migration ChangeJobsTable

然后在 20160802104312_change_jobs_table.rb:

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

然后

rails db:migrate

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

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

您忘记添加datatype,下面是更新后的迁移。

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

你确实忘记了datatype。以后也可以通过控制台来实现:

rails g migration AddSkills2ToJobs skills2:string

这对我有用,你可以在架构中验证之后

rails g migration add_skills2_to_ChangeJobsTable skills2:string

rake db:migrate