2

我正在寻找一种方法来重置部署在 heroku/mongohq 上的 mongodb,就像 # heroku rake db:reset 我知道可以直接登录 mongohq 并删除它,但我想要一个快速命令行。

提前感谢卢卡

4

1 回答 1

0

在你的标题中你说“清理”,在你的描述中你说“重置”。您还可以使用“drop”一词,就好像要删除数据库一样。

  1. 一般来说,除非存在某些服务器问题,否则您不想“重置” MongoDB。
  2. 您通常不希望 MongoDB “运行肮脏”,尤其是在需要“清理”的情况下。
  3. 通常,删除数据库是管理任务或与您正在运行的某些测试脚本相关联的任务

rake是一个构建工具,这些都是数据库管理的所有功能。

你能更具体地说明你想要做什么吗?


好吧,所以我找到了更多细节。它看起来像rake:reset执行以下操作:

:reset => ['db:drop', 'db:create', 'db:schema:load']

因此,它进行了删除、创建和模式加载。这些都是特定于 Rails 的任务,它们都与 SQL 数据库的某些特定功能相关联。

一般来说,MongoDB 没有模式,因此通常不需要db:createand db:schema:load。所以基本上你只是在做一个db:drop(也许是一些ensureIndex命令)?

我正在研究这些 rake 任务的其余部分,其中许多并不真正适用于典型的 MongoDB 用例。如果你真的想要这个功能,你可能不得不自己写一些。

于 2011-05-01T22:37:31.410 回答