結果直接、SQLを投げる結論に行き着きました。
def change
add_column :users, :value2, :integer
execute 'UPDATE users SET value2 = value1'
end
Usersテーブルにvalue2カラムを追加して、初期値として、value1の値をいれるようなケースを想定しています。他の方法として、modelを使うパターンもあります。
class User < ActiveRecord::Base; end
def change
add_column :users, :value2, :integer
User.all.each do |user|
user.value2 = user.value1
user.save
end
end
0 件のコメント:
コメントを投稿