activerecord-importのクエリログを無効化する

公開日時
更新日時

activerecord-importを使ってbulk insertを行う際に、ログにinsert文が残ってしまうのをなんとかしたい。

そこで、以下のように一時的にログを無効化して処理が終わったあとに戻すようにした。

old_logger = ActiveRecord::Base.logger
ActiveRecord::Base.logger = nil
Book.import books
ActiveRecord::Base.logger = old_logger

検索すると[[ActiveRecord::Base.logger.silence]]を使う方法が出てくるがRails3以降は使えないので注意。

参考


Related #ruby

Bulletをテスト環境で実行してN+1を調査する

bulletのおかげで見落としていたN+1に気づける

request specでリダイレクトのテストをする

redirect_toが使えた

bot tweetするrubyスクリプト

8時間ほどで申請が通っていた

RailsのログをLogrageに変更する

ログを1行にまとめてくれるので便利