Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。
モンゴモンゴしてるRailsアプリで、database_cleanerを使ってデータをお掃除しようとすると、お掃除できませんでした。 結果から言うと、MongoDB 3.2 以降、デフォルトのストレージエンジンが変わったため、database_cleanerがそこに対応できていないようです。
MongoDBの設定ファイルを変更し、以前のストレージエンジンMMPAv1 を指定すると動きます。
storage:
dbPath: /usr/local/var/mongoedb
engine: mmpav1 # <= これ
そもそも、database_cleanerは、<database>.system.namespaces
を頼りにコレクションを一通り取得しようとしているのですが、これも3.0 以降から非推奨になっています。
なので、トレンディーなソリューションのニーズが上昇していると思います*1。
*1 そもそもmongodb とRailsの組み合わせをどれだけの人がやってるんだろう。