【问题标题】:Trying to pull Heroku database onto my localhost试图将 Heroku 数据库拉到我的本地主机上
【发布时间】:2015-06-21 16:35:15
【问题描述】:

我最近犯了一个错误,将我的数据库在我的本地主机上回滚得太远,并从我拥有的数据库中删除了所有数据。我确实迁移了数据库,所以它们会返回,但它们仍然被清除了。

询问下一步该做什么,我被告知我应该在 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 终端中。

如果有人有任何知识或可以帮助我,我将不胜感激。非常感谢!

乔

编辑:如果您有其他方法/解决方案,请告诉我。在完成此操作之前,我无法更新我的应用程序,这样我就不会丢失我的信息。

【问题讨论】:

    标签: heroku psql


    【解决方案1】:

    我会尝试使用备份/恢复:

    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 子命令之后和任何其他参数之前。

    【讨论】:

    • pg_restore 不起作用,因为我收到了-bash: pg_restore: command not found - 我认为这就是让我最初尝试 pg:pull 方法的原因。 pg:backup 和 curl 工作正常,但不是最后一步。
    • 听起来像是您的 $PATH / 损坏的 Posgres 安装中的错误。我的 pg_restore 位于 /usr/bin/pg_restore。您也可以尝试 pgAdmin 应用程序。恢复... 选项位于数据库的上下文菜单中。
    • 我很感激,但它实际上是一个更大的问题。 Heroku 使用 Postgres,而我在本地使用 Sqlite3。我最终完全删除了 sqlite3 并在我的项目中使用了 PG。我在这里写了一篇关于它的小博客 (joedayvie.com/articles/11),以防有人想看。
    猜你喜欢
    • 1970-01-01
    • 2016-08-15
    • 2013-08-08
    • 2017-05-11
    • 2015-07-20
    • 1970-01-01
    • 2011-04-12
    • 2017-02-07
    • 2013-08-24
    相关资源
    最近更新 更多