0

我正在使用 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)
4

1 回答 1

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
于 2013-06-17T15:54:50.573 回答