ruby1日マスクをしているとなぜか頭痛と肩こりがひどい@mikedaです。開発環境とCI環境(CircleCI)で挙動が違う有効にしているはずなのにCopが動かないという問題が発生したので、原因と対応についてまとめておきます。trueオプションをつけてまとめましょう、というCopです。intまとめて実行されるようになって処理が高速化されます。int守れてないとこういうエラーが表示されます。detected起こった問題BulkChangeTableは、database.ymlのdevelopmentのadapter設定がmysql2かpostgresqlの時だけ有効になります。そのため、CI用のdatabase.ymlにdevelopment設定がないdatabase.ymlがERBファイルになっているといった場合に、Copが適切に有効化されない問題が起こりました。詳細な挙動はドキュメント、ソースコードを参照ください。www.rubydoc.infogithub.comCI用のdatabase.ymlにdevelopment設定がない開発環境とCI環境で別のdatabase.ymlを使っていて、CI環境ではtestの定義しか書かれていない場合、database.ymlにdevelopmentの定義がないためCopが有効化されません。127.0.0.1database.ymlがERBファイルになっている環境変数によって挙動を切り替える等の理由でdatabase.ymlをERB化している場合、BulkChangeTableはdatabase.ymlを正常に読み込めないためCopが有効化されません。%>どうすれば良いのか上記の問題が起こらないようにdatabase.ymlを調整してもいいですが、.rubocop.ymlでdatabaseを明記してあげるのが簡単かつ確実そうです。JOBLIST派遣はてなブログをはじめよう!rista-incさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。