2016-08-02 71 views
3

我想通過以下方式在我的表之一添加一個新列的Rails 5.我最近改名爲列:如何在Rails 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 
+0

你是在正確的軌道....繼續 –

+0

我得到這個錯誤:軌道中止! StandardError:發生錯誤,此次及以後的所有遷移取消: 錯誤的參數數量(給定2,預計3..4) –

+0

是的,只需按照hgsongra(hitesh)說明.. –

回答

12

您忘記了添加datatype,以下是更新的遷移。

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

非常感謝:) –

7

你的確忘了datatype。您也可以通過控制檯完成它在未來:

rails g migration AddSkills2ToJobs skills2:string

相關問題