清除pgbackups:传输语法请求

时间:2014-07-07 19:58:02

标签: ruby-on-rails heroku

我正在尝试使用Heroku的新版pgbackups:transfer命令将数据从生产传输到登台数据库。文档很难理解,并且S.O.答案似乎重定向人们使用pgbackups:restore,我知道如何使用。

文档状态

$ heroku pgbackups:transfer HEROKU_POSTGRESQL_PINK sushi-staging::HEROKU_POSTGRESQL_OLIVE -a sushi

当我将其作为:

运行时
$ heroku pgbackups:transfer DATABASE_URL HEROKU_POSTGRESQL_IVORY sushi-staging::HEROKU_POSTGRESQL_JADE -a warm-brushlands-XXXX

我得到了这个错误,以及几种不同的可能语法,都与第一个例子不同:

!    Invalid argument: "sushi-staging::HEROKU_POSTGRESQL_JADE"
  Usage: heroku pgbackups:transfer [SOURCE DATABASE] DESTINATION DATABASE

 direct database-to-database transfer

 If no DATABASE is specified, defaults to DATABASE_URL.
 The pgbackups add-on is required to use direct transfers

Example:

$ heroku pgbackups:transfer green teal --app example

note that both the FROM and TO database must be accessible to the pgbackups service
$ heroku pgbackups:transfer DATABASE postgres://user:password@host/dbname --app example

此主题的变体会产生相同的错误。

我正在寻找一个明确的语法示例 for pgbackups:transfer,如:

$ heroku pgbackups:transfer -from source-app-name-XXXX -to destination-app-name-XXXX -confirm destination-app-name-XXXX

谢谢。

2 个答案:

答案 0 :(得分:1)

在Heroku支持团队澄清之后,我的成功语法如下:

<强>语法

heroku pgbackups:transfer source-color destination-app-name-XXXX::destination-color -a source-app-name-XXXX

<强>键

source-color =您应用中的每个数据库都会获得一种颜色。如果您的数据库颜色是:HEROKU_POSTGRESQL_PINK,您只需将粉红色&#39;在这里,没有引号。

destination-color =目标数据库的简单颜色

source-app-name =源应用程序的名称,例如warm-brushlands-1111

destination-app-name =目标应用的名称

示例

来源应用:young-refuge-1111.herokuapp.com 源数据库:HEROKU_POSTGRESQL_PINK

目标应用:warm-springs-1111.herokuapp.com 目的地数据库:HEROKU POSTGRESQL_IVORY

heroku pgbackups:transfer pink warm-springs-1111::ivory -a young-refuge-1111

答案 1 :(得分:0)

我想你想改变这个

heroku pgbackups:transfer DATABASE_URL HEROKU_POSTGRESQL_IVORY sushi-staging::HEROKU_POSTGRESQL_JADE -a warm-brushlands-XXXX

到此

heroku pgbackups:transfer HEROKU_POSTGRESQL_IVORY sushi-staging::HEROKU_POSTGRESQL_JADE -a warm-brushlands-XXXX

即。删除DATABASE_URL。这应该将HEROKU_POSTGRESQL_IVORY(假设在prod上)转移到HEROKU_POSTGRESQL_JADE(在登台时)。