2015-06-21 62 views
0

我最近犯了一個錯誤,在我的本地主機上回滾我的數據庫太遠,並刪除了我所擁有的數據庫中的所有數據。我確實遷移了數據庫,所以他們會返回,但仍然被清除。試圖將Heroku數據庫拉到我的本地主機

詢問接下來要做什麼,我被告知應該在Heroku上備份數據庫(其中包含所有當前信息)並將其拖到本地主機上。如果這是正確的行動,那麼我仍然面臨一個問題。當我鍵入: heroku pg:pull DATABASE_URL mylocaldb --app (my_app_name)它會返回一個錯誤:

sh: createdb: command not found 
!  
! Unable to create new local database. Ensure your local Postgres is 
working and try again. 

我沒有數據庫的最瞭解,因爲我更新;不過,我已經在本地機器上下載了sql。我輸入的所有命令都在常規控制檯中,而不是psql終端。

如果任何人有任何知識或可以幫助我,我將不勝感激。非常感謝!

編輯:如果你有另一種方法/解決方案,請讓我知道。我無法更新我的應用程序,直到完成此操作,因此我不會丟失我的信息。

回答

0

我會嘗試使用備份/還原:

heroku pg:backups --app MYAPPNAME capture 
curl -o latest.dump `heroku pg:backups --app MYAPPNAME public-url` 

爲(幾乎)在記錄 https://devcenter.heroku.com/articles/heroku-postgres-import-export

--app MYAPPNAME奇怪的位置。它需要在heroku子命令之後以及任何其他參數之前立即執行。

+0

pg_restore無法正常工作,因爲我收到'-bash:pg_restore:command not found' - 我想這是我最初嘗試使用pg:pull方法的原因。 pg:backup和curl工作正常,但不是最後一步。 –

+0

聽起來像您的$ PATH /破損的Posgres安裝中的錯誤。我的pg_restore位於/ usr/bin/pg_restore中。您也可以嘗試pgAdmin應用程序。 Restore ...選項位於數據庫的上下文菜單中。 – MZB

+0

我很欣賞它,但它實際上是一個更大的問題。 Heroku使用Postgres,我在本地使用Sqlite3。我最終完全刪除了sqlite3並在我的項目中使用了PG。我在這裏寫了一個關於它的小博客(http://www.joedayvie.com/articles/11),以備任何人希望看到。 –

相關問題