Я пытаюсь перенести базу данных в новое приложение из существующего с помощью pgbackups, но у меня возникают проблемы. Я прочитал документацию на сайте разработчиков heroku, но все еще получаю ошибки.

У меня установлен плагин для обеих баз данных, и я могу успешно перейти к исходной базе данных и скопировать / захватить ее.

$ heroku pgbackups:capture -a costrecovery --expire

HEROKU_POSTGRESQL_ONYX_URL (DATABASE_URL)  ----backup--->  b007

←[0KCapturing... doneB -
←[0KStoring... done

Затем я перехожу в каталог приложения, в которое хочу скопировать базу данных, и следую инструкциям, перечисленным heroku. Проблема в том, что я не знаю, не работает ли он, потому что это ошибка, или потому, что я неправильно интерпретирую инструкции, что вполне возможно. Сначала я перечислю инструкции с сайта разработчиков heroku, а затем команды, которые я пробовал.

ИНСТРУКЦИИ HEROKUS

$ heroku pgbackups:restore DATABASE -a target-app \
    `heroku pgbackups:url -a source-app`

КОМАНДЫ, КОТОРЫЕ Я ПРОБИЛ

$ heroku pgbackups:restore DATABASE_URL -a boiling-reef-2060 \
> heroku pgbackups:url -a costrecovery
!    Backup not found


$ heroku pgbackups:restore HEROKU_POSTGRESQL_GREEN_URL -a boiling-reef-2060 \
> 'heroku pgbackups:url -a costrecovery'
!    Backup not found


$ heroku pgbackups:restore DATABASE -a boiling-reef-2060 \
> 'heroku pgbackups:url -a costrecovery'
!    Backup not found


$ heroku pgbackups:restore DATABASE_URL -a costrecovery-copy2 \
> heroku pgbackups:"https://s3.amazonaws.com/hkpgbackups/app405411@heroku.com/b
007.dump?AWSAccessKe
> yId=AKIAJFDIRYCGYNFXR4FQ&Expires=1365184330&Signature=po0wZ982Jbx%2Fkv0bKk0iv
P%2
> FRWac%3D"
!    Resource not found

Может ли кто-нибудь помочь мне с правильным синтаксисом? Спасибо

4
RubyDude1012 5 Апр 2013 в 23:26

1 ответ

Лучший ответ

Pgbackups может восстанавливать из базы данных в том же приложении или из любого URL-адреса pgbackups, как в том, который вы захватили в исходном приложении / базе данных. В инструкциях используются обратные кавычки (`) для извлечения и получения URL-адреса pgbackups из исходного приложения. Команда pgbackups: url предоставит такой URL. Попробуйте запустить это, чтобы понять, что происходит:

heroku pgbackups:url -a costrecovery

(при условии, что восстановление затрат - это то место, где вы собрали свои данные).

Зная это, вы сможете просто запустить:

heroku pgbackups:restore DATABASE_URL --app boiling-reef-2060 `heroku pgbackups:url --app costrecovery
5
hgmnz 9 Апр 2013 в 00:38