2011-05-01 51 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

相關問題