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 中的所有集合)似乎是相关的。有两种方法purge!truncate!。Purge 删除集合,这也意味着索引。截断只删除每个集合中的文档,这意味着您保留索引,但它比清除慢。

于 2012-11-04T14:28:01.063 回答
0

如果您使用的是 Rails,则可以运行rake db:mongoid:purge以删除除系统集合之外的所有集合。

或者,运行rake db:mongoid:drop以从当前 Rails.env 中删除数据库。

于 2013-03-03T13:58:54.887 回答