2012-04-01 4 views
1

データベース内の表の列の移行を試みています。私は '名前'フィールドを持っており、名前フィールドのすべての情報を 'user_name'フィールドに移行したいと考えています。同じテーブルの別の列にユーザーテーブルの1つの列の値をコピーするためのレール上のルビーの正しい方法は何ですか?データベース表の1つの列を、同じ表の別の列の列にコピーします。

+0

[Railsの移行で1つの列を別の列の値に更新](http://stackoverflow.com/questions/5224881/update-one-column-to-value-of-another-in-rails-移行) –

答えて

3

add_column :table, :user_name, :string 

を追加してから(mysqlのコンソールで)更新スクリプトを実行

update table set user_name = name; 

それとも、あなたは古い列を保持しない場合、あなたはjust rename itできます。

rename_column :table, :name, :user_name 

RENAME_COLUMN(TABLE_NAME、COLUMN_NAME、new_column_name):列の名前を変更しますが、タイプおよびコンテンツを保持します。

+0

この「更新スクリプト」はどこで実行しますか?あなたはレールコンソールでそれを行うことができますか? – Michael

+0

@Michael、mysql console –

関連する問題