加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-3 – 活动记录:delete_all with limit

发布时间:2020-12-17 02:16:30 所属栏目:百科 来源:网络整理
导读:试图获得关于是否可以将delete_all限制为X个记录的确定答案. 我正在尝试以下方法: Model.where(:account_id = account).order(:id).limit(1000).delete_all 但它似乎不尊重限制,而只是删除所有模型,其中:account_id =帐户. 我希望它能产生以下结果: delet
试图获得关于是否可以将delete_all限制为X个记录的确定答案.

我正在尝试以下方法:

Model.where(:account_id => account).order(:id).limit(1000).delete_all

但它似乎不尊重限制,而只是删除所有模型,其中:account_id =>帐户.

我希望它能产生以下结果:

delete from model where account_id = ? order by id limit 1000

这在使用destroy_all时似乎工作正常,但我想批量删除.

解决方法

这个对我(以及我的需求)也很好用

Model.connection.exec_delete('DELETE FROM models ORDER BY id LIMIT 10000','DELETE',[])

我知道它看起来有点麻烦,但它会返回受影响的行,并且还会通过rails logger记录查询.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读