Мне нужно перенести db из app_1 в app_2
Я создал резервную копию на app_1
Затем выполнил:
heroku pg: восстановление резервных копий HEROKU_POSTGRESQL_COLOR --app app_2 heroku pgbackups:url --app app_1
HEROKU_POSTGRESQL_COLOR = URL-адрес базы данных для app_2
Тогда я получаю:
! `pg:backups` is not a heroku command.
! Perhaps you meant `pgbackups`.
! See `heroku help` for a list of available commands.
Итак, я побежал:
heroku pgbackups: восстановить HEROKU_POSTGRESQL_COLOR --app app_2 heroku pgbackups:url --app app_1
Затем я получаю следующее:
! 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
Итак, я подтвердил:
> app_2
! Please add the pgbackups addon first via:
! heroku addons:add pgbackups
Итак, я побежал: heroku addons:add pgbackups --app app_2
Adding pgbackups on app_2... failed
! Add-on plan not found.
Есть ли способ решить эту проблему? любая помощь будет принята с благодарностью!
* Решение *
Я закончил рассылку по электронной почте Heroku, они сообщили, что мне нужно heroku update; heroku plugins:update
, но heroku update
доступно только для инструментальной панели heroku, и у меня установлен жемчуг.
Решение:
Установите инструмент Heroku toolbelt здесь
Затем удалите драгоценный камень:
gem uninstall heroku --all
запустите следующую команду, чтобы получить версию, и она должна выводить heroku-toolbelt
вместо gem, больше здесь
$ heroku --version
heroku-toolbelt/2.39.0 (x86_64-darwin10.8.0) ruby/1.9.3
Чтобы скопировать базы данных:
heroku pg:backups restore `heroku pgbackups:url --app app_1` HEROKU_POSTGRESQL_COLOR --app app_2
Но даже лучше - вы можете копировать напрямую из одной базы данных в другую без необходимости резервного копирования:
Предполагая, что URL-адрес базы данных app_2: HEROKU_POSTGRESQL_GOLD
heroku pg:copy app_1::DATABASE_URL GOLD -a app_2
Это скопирует основную базу данных из app_1 в базу данных GOLd на app_2