2012-01-10 58 views
6

我试图将数据从我的生产数据库传输到我的临时数据库,但没有成功。如何将数据从我的生产数据库传输到我在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 

也试过同样的命令,但我得到了同样的信息,没有实际传输回事。

任何帮助深表谢意。

回答

11

我认为你没有正确捕获。始终使用--app代替--remote

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

谢谢尼尔。我刚刚尝试过,我得到一个'!资源未找到错误。我也运行'heroku pgbackups --app myapp',它正确显示我的备份,所以资源在那里,它只是不加载它。 – rebagliatte 2012-01-10 21:53:55

+0

当您使用错误的应用程序名称时,通常会返回'resource not found'(资源未找到) - 这些应该与在heroku站点的myapps页面上列出的一样。 Neils命令与我刚刚使用它完全正确。 – 2012-01-10 21:59:42

+0

谢谢John,我发誓我使用了正确的名字。我刚刚加倍检查了运行'heroku apps' – rebagliatte 2012-01-10 22:07:14

4

不知道Heroku的改变,因为这些被公布去年一月,但是当我运行

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

我一直得到一个错误,只是说

"! Backup not found"

即使当我自己运行命令来获取URL时:

heroku pgbackups:url --app myapp 

然后在浏览器中尝试了URL,那个URL是正确的。

所以不是我只是想发送复制/粘贴URL的命令来代替,如:

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

我不得不使用周围的网址,而不是单引号双引号。否则,我得到这个错误:

The filename, directory name, or volume label syntax is incorrect. 'Expires' is not recognized as an internal or external command, operable program or batch file. 'Signature' is not recognized as an internal or external command, operable program or batch file.

+0

我遇到了同样的问题,正如Gayle所说的那样粘贴URL。 – 2013-03-08 19:47:41

+0

有人评论我们的开发中心,他们遇到了同样的事情,但我一直无法复制这个问题。你能告诉我你看到了什么错误(如果有什么超过上面的“!备份未找到”),如果你仍然看到这个问题,事先运行'set -x'会发生什么(运行'set + x'之后再次关闭回声)以及你正在使用的shell和操作系统(我和Heroku Postgres一起)? – 2013-08-07 17:16:40

相关问题