【问题标题】:How can I upload a DB to Heroku如何将数据库上传到 Heroku
【发布时间】:2013-01-08 04:00:26
【问题描述】:

我有一个共享的 heroku 应用程序,现在我不想使用相同的代码在 heroku 中创建一个测试应用程序,所以我创建了一个新应用程序,好的,问题是应用程序需要它才能运行一个数据库,所以我正在尝试上传我的本地数据库,但不知道如何上传。

谁能告诉我我必须在命令行中输入什么才能上传本地数据库?

谢谢

Ps:该应用使用 Django

【问题讨论】:

    标签: database git heroku migrate


    【解决方案1】:

    你应该从一个 url 恢复数据库,见heroku import doc:

    heroku pgbackups:restore DATABASE 'http://f.cl.l...3z18/mydb.dump'
    

    编辑:

    pgbackups 插件一直是deprecated。该过程现在已内置到 CLI 工具中。更多详情here。新方法如下所示:

    heroku pg:backups restore 'http://f.cl.l...3z18/mydb.dump' DATABASE
    

    【讨论】:

    • 好的,这似乎是答案,还有一件事,如何创建或获取 URL?
    • 你有几种方法:正如文档所说,你可以使用 Amazon S3 或 CloudApp 这是快速的方法,你也可以通过 drop box 共享它或在你的家庭路由器中打开一个端口,让 heroku从您的家用机器获取文件。
    • 这在处理敏感数据时确实是一种可怕的方法......
    • @Pinna_be ,数据库 url 可能是一个 httpS 资源(其中 S = Secure )
    【解决方案2】:

    @danihp 的回答很好 - 正是the documentation recommends

    但它需要将文件发布到 S3 等尴尬的地方。

    但是,正如 OP 所问的那样 - 我们如何才能做到这一点,而不必将数据库转储推送到像 S3 这样尴尬的地方?

    我能找到的最方便的答案(在@danihp 的评论中提到)是使用保管箱。

    详细说明(danihp 的评论中没有描述):

    简单

    • 将转储文件放入“公共”保管箱文件夹中
    • 右键单击并选择“复制公共链接”
    • 将刚才复制的网址粘贴到命令中:

      heroku pgbackups:restore DATABASE_URL "<paste link here>"
      

    如果您不想将转储文件放在“公共”文件夹中,则需要再执行一步。

    你需要

    • 放置在其他一些保管箱文件夹中
    • 右键单击,然后选择“共享 Dropbox 链接”
    • 将链接粘贴到浏览器中,浏览器会显示转储文件页面
    • 右键单击“下载”按钮并复制 URL。
    • 那个 URL 粘贴到命令中。

    HTH。

    【讨论】:

      猜你喜欢
      • 2015-07-20
      • 2020-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多