【发布时间】:2012-10-24 09:27:43
【问题描述】:
我喜欢在每次运行单元测试并清除我的 mongo db 之前进行设置,我该如何使用 mongoid 进行设置?
我在谷歌搜索时发现了一些关于它的链接,但似乎没有任何效果。
【问题讨论】:
我喜欢在每次运行单元测试并清除我的 mongo db 之前进行设置,我该如何使用 mongoid 进行设置?
我在谷歌搜索时发现了一些关于它的链接,但似乎没有任何效果。
【问题讨论】:
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
【讨论】:
如果您使用的是 Rails,您可以运行 rake db:mongoid:purge 来删除除系统集合之外的所有集合。
或者,运行 rake db:mongoid:drop 以从当前 Rails.env 中删除数据库。
【讨论】:
您可能想看看database_cleaner gem,它在规范中抽象了清理数据库
【讨论】:
这个 discussion(Delete All Collections in Mongoid 3) 在 mongoid 组中似乎是相关的。有两种方法purge! 和truncate!。 Purge 删除集合,这也意味着索引。截断只删除每个集合中的文档,这意味着您保留索引,但它比清除慢。
【讨论】: