如何选择软删除的记录?出于性能原因,我需要在迁移之前更新表中的每条记录。
这不起作用:
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)
我会很满意选择每条记录或每条软删除记录的解决方案。
答案 0 :(得分:2)
据推测,你有一个default_scope
添加了这个条件。尝试:
SearchDefault.unscoped.where('deleted_at IS NOT NULL')