2017-03-10 7 views
0

ソフト削除されたレコードを選択するにはどうすればよいですか?パフォーマンス上の理由から、私はマイグレーションを行う前にテーブルのすべてのレコードを更新する必要があります。ソフト削除されたレコードを選択するにはどうすればよいですか?

これは動作しません:

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) 

私はすべてのレコードを選択いずれかの解決策、またはすべてのソフト削除されたレコードにご満足いただけることでしょう。

答えて

2

おそらくあなたはdefault_scopeという条件を追加しています。試してください:

SearchDefault.unscoped.where('deleted_at IS NOT NULL') 
関連する問題