2011-05-01 62 views
2

我正在寻找一种方法来重置在heroku/mongohq上部署的mongodb,类似于 # heroku rake db:reset 我知道可以直接登录mongohq并删除它,但我想要一个快速命令行。你知道一个清理heroku/mongohq数据库的方法吗?

在此先感谢 卢卡

+0

你不能通过你的Heroku仪表板登录到MongoHQ并删除数据库,然后从那里重新创建它? – 2011-05-01 10:39:04

+0

你如何通过Heroku仪表板做到这一点? – 2011-05-01 11:14:48

+0

我知道的唯一过程如下:http://support.mongohq.com/discussions/community-tips/2-logging-in-to-mongohq-for-heroku-users ...但很棘手,我'米看起来像“耙db:重置” – 2011-05-01 11:21:30

回答

0

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

  1. 一般来说,你不想“重置”MongoDB,除非有一些服务器问题。
  2. 您通常不希望MongoDB“肮脏”,特别是需要“清理”的方式。
  3. 一般情况下,删除数据库或者是一个管理任务,或者你正在运行

rake一些测试脚本相关联的任务是构建工具,这些都是DB管理的所有功能。

你能对你想要做什么更具体吗?


好的,所以我找到了一些more details。它看起来像rake:reset执行以下操作:

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

所以,它的下降,一个创建和架构负载。这些都是Rails特有的任务,它们都与SQL数据库的一些特定功能相关联。

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

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

+0

我想获得与您运行的相同的“heroku rake db:reset”。事实上,它只适用于Heroku/PostgreSQL部署,而不适用于Heroku/MongoHQ ...同样的情况发生在运行在mysql或sqlite上的“本地”rails应用程序vs mongodb – 2011-05-02 12:56:40

+0

感谢盖茨副总裁。我在lib/tasks /中创建了一个rake脚本:http://pastie.org/1858354 – 2011-05-02 21:44:25

+3

db:drop也会删除您在MongoHQ中设置的用户。 – oma 2012-06-09 12:38:29

相关问题