2016-07-19 1 views
0

私は列の名前だけを変更しているところで、レールの移行を実行しようとしています。したがって、このレールは古い列と同じものを保持するか、column contentに基づいて推測しようとしますか?Rails ActiveRecord Migrationのrename_columnは古い列のデータ型を保持していますか?

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

古いタイプはdecimalだったと移行後にそれはまだdecimalまま。 既存の値がdecimalであるか、old data typeであったため、タイプが保存されていたことを知りたかっただけです。

+1

質問は、マイグレーションを適用するだけで回答できます。 _typeは、既存の値が10進数であるか、古いデータtype_のために保存されていたために保持されました。両方ともtrueまたは多数あります。列名の変更は、実際のメタデータと実際の列に格納されたデータでは再生しないでください。それはかなり妥当です。 –

答えて

2

rename_columnは、データ型を意識することなく列の名前を変更するだけです。

この移行では、railsはデータ型を気にせず、列の名前だけを変更するため、名前をパーセントからパーセントに変更します。データ型に変更はありません。データ型はそのままです。浮動小数点型、文字列型など。

0

はい、rename_columnは、3つのパラメータで列の名前の名前を変更するだけです。 change_columnはタイプを変更します

def change 
    change_column :marks, :percent, :text 
end 
関連する問題