ruby on rails-转储Heroku数据库以在本地种子.rb中使用的最简单方法



我可以用$ heroku pgbackups:capture转储heroku数据库。此外,这篇SO文章显示,有一些工具可以获取开发数据库并将其转储到seed.rb

我想知道是否有一种简单的方法可以将这两个过程结合起来,有效地将生产Heroku数据库中的数据转储到我的本地seeds.rb中,以便进行更现实的开发测试。

如果这是可能的,最干净的方法是什么?

更新:

根据dB’的深刻回答,我可能会考虑在本地使用PGSQL。然而,我仍然对这个问题的seed.rb方面感兴趣,如果有办法轻松做到这一点的话。

有几种方法可以实现这一点@dB’已经概述了其中一个-使用PG Backups插件导出数据库。这是一个很好的选项,但涉及到一些(琐碎的)手动命令。

我建议使用pg:transfer Heroku CLI插件在一个步骤中传输数据。在封面下,它仍然与使用PG备份时发生的事情非常相似,但它的包装有点好,并且有一些有用的默认值。

从应用程序的目录中,通过安装插件并执行pg:transfer命令,在本地复制生产数据库(假设为本地PG数据库)。

$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer
$ heroku pg:transfer

您还可以设置几个选项。有关更多详细信息,请参阅我的文章。

希望能有所帮助!是的,请在开发过程中使用与生产过程中相同的数据库。

不确定这是否是您想要的,但您是否尝试过使用pgbackups:capture和pg_restore将数据库复制到本地机器?这种方法不使用seeds.rb,但仍然在本地机器上重新创建生产数据库。它看起来像这样。

$ heroku pgbackups:capture
$ curl -o latest.dump `heroku pgbackups:url`
$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump

(这段代码是从Heroku开发中心的解释中大量复制的。)

相关内容

  • 没有找到相关文章

最新更新