2016-07-19 24 views
0

我正在嘗試運行rails遷移,其中我正在更改列名稱。因此,這個欄杆照舊保留與舊欄一樣的data type,或者嘗試根據column content進行猜測?Rails ActiveRecord Migration中的rename_column是否保留舊的列數據類型?

def change 
    rename_column :marks, :percent, :percentage 
end 

舊型是decimal和遷移後,它仍然decimal。 只是我想知道類型被保留,因爲現有的值是decimal或者是因爲old data type

+1

你問的問題可以通過應用遷移來回答。 _type被保留,因爲現有的值是十進制的,或者是因爲舊的數據類型_,是的,都是真的,或者可以有很多。列重命名不應該與實際的元數據和存儲在實際列中的數據一起玩。這很合理。 –

回答

2

rename_column的意思是隻是簡單地改變列的名字而不考慮數據類型。

在給定的遷移中,您只將名稱從百分比更改爲百分比,所以rails不關心數據類型,只更改列的名稱。數據類型沒有改變,它會保持原樣。是否爲十進制,浮點數,字符串等。

0

是的,rename_column只重命名帶有3個參數的列的名稱。 change_column將改變類型

def change 
    change_column :marks, :percent, :text 
end 
相關問題