我正在使用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进行联接更新?我来自续集ORM背景,所以Sequel的方法是:
DB[:signups___s].join(:users___u, :u__id => :s__user_id).update(:s__user_id => :u__id)
答案 0 :(得分:1)
def up
add_column :signups, :user_id, :integer, :default => nil
add_index :signups, :user_id
ActiveRecord::Base.connection.execute("UPDATE SIGNUPS S JOIN USERS U ON S.EMAIL=U.EMAIL SET S.USER_ID = U.ID")
end