Como crear un backup de producción a staging en Heroku

Primero que nada es necesario tener tus dos ambientes configurados correctamente, en la documentación puedes ver una guia paso a paso de como hacerlo: https://devcenter.heroku.com/articles/multiple-environments

Una vez que tienes tus dos ambientes corriendo satisfactoriamente necesitas instalar el plugin pgbackups en ambos ambientes.

$ heroku addons:add pgbackups --remote staging
$ heroku addons:add pgbackups --remote production

Una vez que tienes el plugin en ambos ambientes necesitas hacer un backup de producción para luego llevarlo a tu ambiente de pruebas:

$ heroku pgbackups:capture --remote production

Una vez que tienes listo tu backup ejecutas el siguiente comando:

$ heroku pgbackups:restore DATABASE_URL `heroku pgbackups:url --remote production` --remote staging

Al ejecutarlo te saldrá un mensaje de alerta donde te dirá que tu ambiente de pruebas va a ser sobre-escrito, te pide confirmar escribiendo el nombre de tu aplicación de pruebas. Una vez que confirmar se realiza la restauración.

Es importante mencionar que se perderá toda la información de tu base de datos de pruebas porque será sobre-escrita por la base de datos de producción.