【rails】activerecord-importとelasticsearch-railsのimportがコンフリクトしたのでメモ
前提
- もともとrailsでElasticsearchを使用していて、後からactiverecord-importに依存しているライブラリを入れた。
$ bundle exec gem list | grep activerecord-import activerecord-import (1.0.8) $ bundle exec gem list | grep elasticsearch-rails elasticsearch-rails (7.1.1)
- 両方でrailsのmodelにimportというクラスメソッドを生やすので、コンフリクトしてしまい、Elasticsearchの処理が軒並みこけてしまった。
調査
- activerecord-import側にコンフリクトした場合の対応が載っていた。
Activerecord-Import adds the .import method onto ActiveRecord::Base. There are other gems, such as elasticsearch-rails, that do the same thing. In conflicts such as this, there is an aliased method named .bulk_import that can be used interchangeably.
aliasを使えみたいにかいてある。
対応
- なんかメソッドのalias使うの微妙だな〜と思ったので。
Model.__elasticsearch__.import
みたいな感じでつかうようにした。
参考
おしまい。