Как перенести данные из моей производственной БД в мою промежуточную БД в heroku?

Я пытаюсь передать данные из моей производственной БД в мою промежуточную БД без успеха.

Я следую документации heroku на нем:http://devcenter.heroku.com/articles/pgbackups#transfers

это команды, которые я выполнил...

$ heroku addons:add pgbackups --remote staging
$ heroku addons:add pgbackups --remote production
$ heroku pgbackups:capture --remote production
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --remote production` --remote staging

и это сообщение я получаю...

Usage: heroku pgbackups:restore [<DATABASE> [BACKUP_ID|BACKUP_URL]]

restore a backup to a database

if no DATABASE is specified, defaults to DATABASE_URL and latest backup
if DATABASE is specified, but no BACKUP_ID, defaults to latest backup

кажется, я пишу что-то неправильно, но я не могу понять это.

Я также пробовал ту же команду, используя имя приложения вместо удаленного...

$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging

но я получаю то же самое сообщение без фактической передачи.

любая помощь будет высоко оценили.

2 ответов


Я не думаю, что вы захватили правильно. Всегда используйте --app вместо --remote

$ heroku pgbackups:capture --app myapp
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging

не уверен, что Heroku изменился с тех пор, как они были опубликованы в январе прошлого года, но когда я запускаю

heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging

Я продолжал получать ошибку, которая просто сказала

"! Резервное копирование не найдено"

хотя, когда я запустил команду сам по себе, чтобы получить URL:

heroku pgbackups:url --app myapp

а затем попробовал URL в браузере, этот URL был правильным.

поэтому вместо этого я просто попытался отправить скопированный / вставленный URL-адрес команде, например:

heroku pgbackups:restore DATABASE "http://urlgoeshere" --app myapp-staging

мне пришлось использовать двойные кавычки вокруг URL, а не одинарные кавычки. В противном случае я получил эту ошибку:

неверный синтаксис имени файла, имени каталога или метки тома. "Expires" не распознается как внутренняя или внешняя команда, исполняемой программой или пакетным файлом. "Подпись" не признается внутренней или внешней командой, исполняемой программой или пакетным файлом.