0

我有以下任务要在 Rais 上运行:

require 'net/http'
namespace :seed do

task :set_gid_on_histories => :environment do

    History.all.each do |hist|

        if hist.channel != "REMOTE"
            if hist.guest
                guest = Guest.find(hist.user_group_id)
                hist.update_attributes(:group_id => guest.group_id)    
            else
                ug = UserGroup.with_deleted.find(hist.user_group_id)
                hist.update_attributes(:group_id => ug.group_id)    
            end     

        end

    end
end

end

问题发生在队列中

ug = UserGroup.with_deleted.find(hist.user_group_id)

发生的事情是它在抛出

ActiveRecord::RecordNotFound: 找不到 'id'=71 的用户组 [WHERE "user_groups"."deleted_at" IS NULL]

就像命令行上没有“删除”一样。

我尝试在 Rails 控制台上键入相同的命令并且它工作,即当我运行 ug = UserGroup.with_deleted.find(71) 时它工作得很好并找到已删除的用户。

所以似乎偏执狂的'with_deleted'命令不适用于rails任务......我错过了什么吗?

4

0 回答 0