Rails 3.2.x + AR プロジェクトの既存のデータを使用して、既存のモデルに新しい関連付けを追加しています。
移行スクリプト:
class AddUserToSignups < ActiveRecord::Migration
def up
add_column :signups, :user_id, :integer, :default => nil
add_index :signups, :user_id
# UPDATE SIGNUPS S JOIN USERS U ON S.EMAIL=U.EMAIL SET S.USER_ID = U.ID
end
def down
drop_column :signups, :user_id
end
end
AR を使用して上記のコメントに従って結合された更新を行うにはどうすればよいですか? 私は Sequel ORM のバックグラウンドを持っているので、Sequel のアプローチは次のようになります。
DB[:signups___s].join(:users___u, :u__id => :s__user_id).update(:s__user_id => :u__id)