2

Heroku::Client::Pgbackups は既に廃止されていることがわかったので、heroku-api gem だけを使用して「heroku pgbackups」を実行するコマンドを Ruby で実行できないか考えています。

Heroku アプリのメンテナンス サイトを作ろうとしています。すべてのアプリを一覧表示し、ボタンをクリックするだけで、バックアップのリストを表示したり、リストからバックアップを元に戻したりダウンロードしたりできます。

バックアップの一覧表示を除いて、ほとんどの CLI プロセスは既に gem で利用可能です。system() コマンドを実行する以外にそれを行う方法はありますか? heroku toolbelt がインストールされていないサーバーでアプリをホストする可能性があるためです。そうすれば、私のアプリは 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 に答える