我从 Heroku 下载了一个 pg 备份(它以 TextEdit 文档的形式出现),我想从我的开发环境中运行它来测试一些东西。如何转换/保存它以便我可以更改我的 database.yml 文件来访问它?
最佳答案
认识 heroku pg:pull
。
没有用户名/密码的拉取
您可以通过运行以下命令在本地拉取 Heroku PostgreSQL 数据库:
heroku pg:pull $HEROKU_DATABASE $LOCAL_DATABASE [--app $APP]
其中 $HEROKU_DATABASE
是 Heroku 数据库的名称,$LOCAL_DATABASE
是您本地数据库的名称(它将由 pg:pull 创建
;如果它已经存在,命令将失败,以保护您免受意外覆盖),$APP
是您的应用程序名称。
使用用户名/密码拉取
如果您需要为本地 PostgreSQL 连接提供用户名/密码,那么您可以像这样通过 PGUSER
和 PGPASSWORD
传递它:
PGUSER=$YOUR_USER PGPASSWORD=$YOUR_PASSWORD heroku pg:pull $HEROKU_DATABASE $LOCAL_DATABASE [--app $APP]
为什么不备份?
捕获单独的备份只是为了获取最近的生产数据可能不是最好的主意,因为 Heroku 会轮换备份,因此您会丢失一个较旧的备份。这是否是一个问题取决于您的情况。
关于ruby-on-rails - rails 4 : How do you run a Postgres database downloaded from Heroku on my local machine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37228348/