我有這個表:更改列名的Rails
class CreateShoes < ActiveRecord::Migration
def change
create_table :shoes do |t|
t.string :name
t.boolean :leather
t.integer :season
t.timestamps null: false
end
end
end
的 '季節' 一欄被稱爲 'season_id'。我知道我必須編寫't.rename:season,:season_id',如http://edgeguides.rubyonrails.org/active_record_migrations.html#column-modifiers中所解釋的,但我無法找到正確的語法。它應該是?
class CreateShoes < ActiveRecord::Migration
def change
create_table :shoes do |t|
t.string :name
t.boolean :leather
t.integer :season
t.timestamps null: false
end
change_table :products do |t|
t.rename :season, :season_id
end
end
end
不起作用。我需要在Mac控制檯中做什麼?謝謝!
你爲什麼要在同一遷移中重命名它?回滾並將其修復到'create_table'中,或者創建一個新的遷移。你也可以直接寫'rename_column:shoes,season,season_id',而不是把它放在一個塊中。 –
我不知道我在做什麼。學習:)忘了補充表中有數據。創造新的遷移意味着新的「變化」? thx – Pere
這意味着有一個新的遷移,它有自己的'change'方法。 –