如何选择软删除的记录?

时间:2017-03-10 17:49:06

标签: ruby-on-rails activerecord

如何选择软删除的记录?出于性能原因,我需要在迁移之前更新表中的每条记录。

这不起作用:

SearchDefault.where('deleted_at IS NOT NULL')

因为它产生了这个SQL:

SELECT COUNT(*) FROM "search_defaults" WHERE "search_defaults"."deleted_at" IS NULL AND (deleted_at IS NOT NULL)

我会很满意选择每条记录或每条软删除记录的解决方案。

1 个答案:

答案 0 :(得分:2)

据推测,你有一个default_scope添加了这个条件。尝试:

SearchDefault.unscoped.where('deleted_at IS NOT NULL')