2011-11-26 73 views

回答

8

您可以登錄到heroku並點擊addons => mongohq來遷移MongoHQ。在應用程序中,使用簡單密碼在名爲「backup」的數據庫用戶下創建一個新用戶。下面,我的密碼是「temppw」。然後單擊您的連接信息的數據庫信息選項卡(主機:端口[flame.mongohq.com:27049]和dbname [appXXXXXX])。然後調用mongodump來獲得備份。

mongodump -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw 

這將創建一個名爲「dump」的本地目錄,其中包含您的數據。通過將它加載到本地數據庫(只運行mongorestore並查看本地mongo安裝)來驗證它是否存在 - 因爲當你銷燬你的舊應用程序時,它會破壞MongoDB(heroku也會破壞你的postgres數據庫 - 所以你應該這樣做也是如此)。

無論如何,除了使用mongorestore之外,對您的新應用程序數據庫執行上述操作。

mongorestore -h flame.mongohq.com:27049 -d appXXXXXX -u backup -p temppw dump/appXXXXXX 

不只是POINT環境URLS。這很危險,因爲刪除您的初始應用程序將會破壞您的所有數據。

+0

好的,謝謝你的建議。 – WHITECOLOR

+0

MongoHQ已更名爲Compose FWIW。 – staypuftman

1

我不確定MongoHQ,但對於PostgreSQL,您可以使用Heroku Taps將數據從遠程數據庫提取到本地計算機。然後你可以將它推送到新的應用程序。

或者你可以改變你的新雪松應用程序指向數據庫的變量DATABASE_URL正在使用的舊的應用程序環境 - 你不使用共享數據庫假設。

最後一種方法也適用於MongoHq。

+0

謝謝,實際上我對mondodb遷移更感興趣。我還沒有嘗試在新的應用上更改MONGOHQ_URL,但我想也許有一些標準的解決方案。 – WHITECOLOR

+1

也許這可以幫助:http://support.mongohq.com/customer/portal/articles/100129-migrate-local-db-to-mongohq – leonardoborges