Heroku transfer db from one app to another

2020-05-16 23:38发布

I need to transfer db from app_1 to app_2

I created backup on app_1

Then ran:

heroku pg:backups restore HEROKU_POSTGRESQL_COLOR --app app_2 heroku pgbackups:url --app app_1

HEROKU_POSTGRESQL_COLOR = database URL for app_2

Then I get:

 !    `pg:backups` is not a heroku command.
 !    Perhaps you meant `pgbackups`.
 !    See `heroku help` for a list of available commands.

So I ran:

heroku pgbackups:restore HEROKU_POSTGRESQL_COLOR --app app_2 heroku pgbackups:url --app app_1

Then I get the following:

!    WARNING: Destructive Action
!    This command will affect the app: app_2
!    To proceed, type "app_2" or re-run this command with --confirm app_2

So I confirmed with:

> app_2
 !    Please add the pgbackups addon first via:
 !    heroku addons:add pgbackups

So then I ran: heroku addons:add pgbackups --app app_2

Adding pgbackups on app_2... failed
 !    Add-on plan not found.

Is there a way around this issue? any help would be greatly appreciated!

* Solution *

I ended up emailing Heroku, they advised that I need to heroku update; heroku plugins:update but heroku update is only available to heroku toolbelt only and I had the gem installed.

Solution:

Install Heroku toolbelt here

Then uninstall the gem:

gem uninstall heroku --all

run the following to get the version and it should output heroku-toolbelt, instead of the gem, more info here

$ heroku --version
  heroku-toolbelt/2.39.0 (x86_64-darwin10.8.0) ruby/1.9.3

To copy the databases over:

heroku pg:backups restore `heroku pgbackups:url --app app_1` HEROKU_POSTGRESQL_COLOR --app app_2

But even better—you can copy directly from one database to another without needing the backup:

Assuming app_2 database url is: HEROKU_POSTGRESQL_GOLD

heroku pg:copy app_1::DATABASE_URL GOLD -a app_2 

That will copy the main database from app_1 to the GOLd database on app_2

8条回答
【Aperson】
2楼-- · 2020-05-17 00:30

As per the website the addon is depreciated. So that could be the reason for the failure message.

Backups as an add-on has been deprecated.

Since your aim is to move the db from one app to another, why don't you try the instructions mentioned in the link below.

https://devcenter.heroku.com/articles/heroku-postgres-backups#direct-database-to-database-copies

查看更多
欢心
3楼-- · 2020-05-17 00:34

its only 1 command to copy database from app to app now you don't have to backup:

heroku pg:copy app_name_to_copy_from::database_color_to_copy_from database_color_to_copy_to --app app_name_to_copy_to

check it here

查看更多
登录 后发表回答