我在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)
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