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

Sidekiqで指定時間待ってから実行する

perform_inを使う

Active Jobで指定時間後にジョブを実行する

setメソッドの引数にwaitを指定する

bot tweetするrubyスクリプト

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

RailsのログをLogrageに変更する

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

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

redirect_toが使えた

Extension fieldsを使ってdocker-composeのコンテナ設定を共通化する

Railsコンテナ設定を共通化して、commandだけそれぞれで変えるようにした