counter_cacheをリセットする方法

✏️️ 2019/08/31 👍️2019/08/31 🔗

reset_countersメソッドを利用するとresetすることができます。

# posts テーブルのid=1のlikes_countカラムをリセットする場合
Post.reset_counters(1, :likes)

参考: reset_counters

全てのレコードをリセットする場合

Post.find_each {|post| Post.reset_counters(post.id, :likes)}

Post.all.eachではなくPost.find_eachを利用するとDBから分割して取得してくれます。defaultは1000件

参考

Akito
日本のスタートアップで主にRuby on Railsを使ってプロダクト開発をしています。