如何将数据库上传到Heroku

7
我有一个共享的heroku应用程序,现在我想在heroku中创建一个测试应用程序,并使用相同的代码。因此,我已经创建了一个新的应用程序,但是问题在于该应用程序需要一个数据库才能正常工作。因此,我正在尝试上传我的本地数据库,但不知道该怎么做。
请问有人可以告诉我在命令行中输入什么内容,以便上传我的本地数据库吗?
谢谢!
附注:该应用程序使用Django。
2个回答

6
你需要从一个 url 恢复数据库,参见 Heroku 导入文档
heroku pgbackups:restore DATABASE 'http://f.cl.l...3z18/mydb.dump'

编辑:

pgbackups插件已被弃用。现在该过程已经集成到CLI工具中。更多细节请参阅此处。新方法如下:

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

好的,那似乎是答案,还有一个问题,我如何创建或获取URL? - Sascuash
你有几种选择:正如文档所说,你可以使用Amazon S3或CloudApp,这是最快的方式,也可以通过Dropbox分享文件,或者打开家庭路由器上的端口,让Heroku从你的家用机器中获取文件。 - dani herrera
处理敏感数据时,这确实是一种可怕的方法... - Pinna_be
@Pinna_be,数据库的URL可能是一个httpS资源(其中S表示安全)。 - dani herrera

5
@danihp的回答很好——正是文档推荐的方式。但它需要将文件发布到一些尴尬的地方,比如S3。
然而,正如楼主所问——我们如何在不将数据库转储推送到像S3这样的尴尬位置的情况下完成此操作?
我能找到的最方便的答案(在@danihp的评论中提到)是使用dropbox。
详细说明(未在danihp的评论中描述):
简单地说:
  • put the dump file into your "Public" dropbox folder
  • right click and choose "Copy Public Link"
  • Paste the url you just copied into the command:

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

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

您需要:

  • 将其放在其他Dropbox文件夹中
  • 右键单击,选择“共享Dropbox链接”
  • 将链接粘贴到浏览器中,这将显示出转储文件页面
  • 右键单击“下载”按钮并复制URL。
  • URL粘贴到命令中。

希望对您有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接