我有一个关于Heroku的数据库我正在尝试复制到我的本地机器。
我通过执行以下操作创建了数据库备份:
heroku pgbackups:capture
这创建了我通过创建URL链接下载的数据库的转储文件:
heroku pgbackups:url b004
但是现在我有一个转储文件,并且真的不知道如何处理它。我试过了
pg_restore
恢复数据库,但我不知道该信息的去向。我基本上想要从这个转储文件中创建一个.db文件。这可能吗?
最终我的最终目标是访问这个数据库 - 所以如果另一种复制数据库的方法更好,我就可以了。
答案 0 :(得分:3)
Heroku不允许您使用sqlite文件,因为它们具有只读文件系统。但是你可以使用Django通过dumpdata命令将Heroku中的数据转储到JSON文件中,然后将它们导入到你的本地开发环境中。
由于使用heroku run
运行在Web服务器上生成文件的命令可能很困难,我建议您安装django smuggler,这使得此操作成为一个点,然后单击admin中的事件。
答案 1 :(得分:3)
首先,您应该在本地计算机上安装postgres。
PostgreSQL cheat sheet for django beginners
然后,使用pg_restore命令导入转储文件:
pg_restore -d yournewdb -U yournewuser --role=yournewuser /tmp/b001.dump
多数情况下,您的数据现已从您的heroku应用程序克隆。