我正在尝试将数据从我的生产数据库传输到我的登台数据库,但没有成功。
我正在关注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
但是我收到相同的消息,没有实际转移。
非常感谢任何帮助。
答案 0 :(得分:11)
我认为你没有正确捕获。始终使用--app
代替--remote
$ heroku pgbackups:capture --app myapp
$ heroku pgbackups:restore DATABASE `heroku pgbackups:url --app myapp` --app myapp-staging
答案 1 :(得分:4)
不确定Heroku是否因为这些是去年1月发布而改变了,但是当我运行时
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
我不得不在网址周围使用DOUBLE引号,而不是单引号。否则我收到了这个错误:
文件名,目录名或卷标语法不正确。 'Expires'不被视为内部或外部命令, 可操作程序或批处理文件。 '签名'不被视为 内部或外部命令,可操作程序或批处理文件。