4

単体テストを実行して mongo db をクリアするたびにセットアップを実行したいのですが、mongoid でどのように行うのですか?

グーグルでいくつかのリンクを見つけましたが、何も機能していないようです。

4

4 に答える 4

5

の出力rake -T

rake db:drop           # Drops all the collections for the database for the current Rails.env
..
rake db:mongoid:drop   # Drops the database for the current Rails.env
rake db:mongoid:purge  # Drop all collections except the system collections
..
rake db:purge          # Drop all collections except the system collections
于 2014-01-28T09:16:37.713 に答える
2

仕様でデータベースのクリーニングを抽象化するdatabase_cleaner gem をご覧になることをお勧めします。

于 2012-11-04T14:36:02.197 に答える
1

mongoid グループのこの議論(Mongoid 3 のすべてのコレクションを削除) は関連しているようです。との2つの方法がpurge!ありtruncate!ます。Purge はコレクションを削除します。つまり、インデックスも削除されます。Truncate は各コレクション内のドキュメントのみを削除します。つまり、インデックスは保持されますが、パージよりも遅くなります。

于 2012-11-04T14:28:01.063 に答える
0

Rails を使用している場合は、実行rake db:mongoid:purgeして、システム コレクションを除くすべてのコレクションを削除できます。

または、実行rake db:mongoid:dropして現在の Rails.env からデータベースを削除します。

于 2013-03-03T13:58:54.887 に答える