2

我发现 Heroku::Client::Pgbackups 已经被弃用了,所以我想知道是否可以在 Ruby 中运行一个命令来仅使用 heroku-api gem 来执行“heroku pgbackups”。

我正在尝试为我的 heroku 应用程序创建一个维护站点。只需列出所有应用程序,只需单击一个按钮,我就可以查看备份列表,还可以从列表中恢复/下载备份。

除了列出备份之外,大多数 CLI 进程已经在 gem 中可用。除了执行 system() 命令之外,还有什么方法可以做到吗?因为我可能会在没有安装 heroku 工具带的服务器上托管我的应用程序。这样,我的应用程序只能使用 heroku-api gem 通过 api 连接。

我知道这要求太多,但如果你能给我提供一些工作,我将不胜感激。谢谢!

4

2 回答 2

3

是的你可以。

https://devcenter.heroku.com/articles/pgbackups#list-backups

$ heroku pgbackups
ID   | Backup Time         | Size  | Database
-----+---------------------+-------+------------------------
a226 | 2012/02/22 20:02.19 | 5.3KB | DATABASE_URL
a227 | 2012/02/23 20:02.19 | 5.3KB | DATABASE_URL
b251 | 2012/02/24 16:08.02 | 5.3KB | HEROKU_POSTGRESQL_BLACK
b252 | 2012/02/24 16:08.53 | 5.3KB | HEROKU_POSTGRESQL_PINK
于 2015-06-10T02:50:13.690 回答
2

事实证明,可以这样做来获取备份:

api = Heroku::API.new(:api_key => your_api_key)  
pgbackups_url = api.get_config_vars('app_name').body['PGBACKUPS_URL']
client = Heroku::Client::Pgbackups.new pgbackups_url
client.get_backups

然后它返回备份列表。好棒!有关更多 pgbackups 功能,请在此处查看:https ://github.com/heroku/heroku/blob/master/lib/heroku/client/pgbackups.rb

于 2013-03-16T10:19:42.270 回答