6

我正在尝试将数据从我的生产数据库传输到我的暂存数据库,但没有成功。

我正在关注 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

但是我得到了同样的信息,没有进行实际的转移。

任何帮助都深表感谢。

4

2 回答 2

11

我认为您没有正确捕获。始终使用--app而不是--remote

$ heroku pgbackups:capture --app myapp
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging
于 2012-01-10T21:35:17.397 回答
4

不确定 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' 不是内部或外部命令、可运行程序或批处理文件。“签名”不是内部或外部命令、可运行程序或批处理文件。

于 2012-07-15T23:30:25.467 回答