如何用Heroku上的生产数据库替换你的rails本地pg db?

时间:2017-12-22 04:16:45

标签: ruby-on-rails postgresql heroku

我的Rails应用程序中有一个本地数据库。该应用程序通过git链接到Heroku。我想完全取代我的开发数据库与Heroku上的生产数据库。怎么样?我可以在本地使用一组命令来完成这项工作吗?

2 个答案:

答案 0 :(得分:0)

您可以使用heroku pg:backups:restore命令轻松完成此操作。请参阅详细信息文档here。如果你没有任何s2 url for dump install ngrok并将你的文件放在公共文件夹中并提供dump的ngrok url。这会有所帮助。

答案 1 :(得分:0)

有一个Heroku命令: heroku pg:pull HEROKU_POSTGRESQL_MAGENTA mylocaldb --app sushi,  您可以使用应用程序的信息替换每个参数。  (https://devcenter.heroku.com/articles/heroku-postgresql

您可以编写一个简短的rake任务,使用该命令完全替换Heroku的本地数据库:

<强> LIB /任务/ db.rake

desc 'replaces local database with Heroku production database'
task replace_local_with_production: :environment do
  Rake::Task['db:drop'].invoke
  system heroku pg:pull HEROKU_POSTGRESQL_MAGENTA mylocaldb --app sushi
  Rake::Task['db:migrate'].invoke
end