pg:pull
を書きました およびpg:push
コマンド。
pg:pull
およびpg:push
どちらもpg_dump
を使用します コマンドを実行し、それを直接pg_restore
にパイプします (ソースコード)。残念ながら、pg:push,pull
には問題があります この回答の時点で、2014年9月の時点でWindows上にあります。これらの問題は克服できないものではないため、後でこの回答に到達する場合は、修正されているかどうかを確認してください。
env
こことここで使用されるコマンドはWindowsではないと思います。そのため、PGUSERとPGPASSWORDの処理を実行する必要があります。ただし、env
の理由 そのpg_dump
pg_restore
とは異なる環境変数が必要です 。
私は、popenを使用してコマンドを個別に設定し、パイプを使用する代わりにそれらを相互に接続することによって、一度それを修正することに挑戦しました。しかし、私はそれを完全に機能させることができず、停止しなければなりませんでした。
すべてのパッチを確認してこの問題を修正できれば幸いです。@heroku/herokuプロジェクトへのプルリクエストで私に連絡してください。
この問題の修正に失敗して申し訳ありません:(
代わりに、これが修正されるまで、pg_dump
を使用できます。 およびpg_restore
コマンドを個別に、直接。 2ステップのプロセスであり、リモートクレデンシャルを検索する必要があるため、より面倒ですが、作業は完了します。 gen_pg_*_command
のリンクされたソース メソッドは、pg_dump
の使用方法を示しています およびpg_restore
。