heroku db:pull を何百万回も使用したにもかかわらず、このメッセージが表示されます。コードに触れていないのに、何らかの理由で機能しなくなりました。何か案は?
完全なエラー メッセージは次のとおりです。
db:pull
heroku コマンドではありません。おそらく、使用可能なコマンドのリストについては、 pg:pull
「参照」を意味していたでしょう。heroku help
heroku db:pull を何百万回も使用したにもかかわらず、このメッセージが表示されます。コードに触れていないのに、何らかの理由で機能しなくなりました。何か案は?
完全なエラー メッセージは次のとおりです。
db:pull
heroku コマンドではありません。おそらく、使用可能なコマンドのリストについては、 pg:pull
「参照」を意味していたでしょう。heroku help
今のところ、タップの神々がタップサーバーのプロビジョニング解除を決定するまで、引き続き heroku-legacy-taps を使用できます。
走る:heroku plugins:install https://github.com/heroku/heroku-legacy-taps.git
その後、通常どおりワークフローを続行db:push
します。db:pull
(ヒントをくれた GantMan に感謝)
これはまだ可能です。とにかく走れ
heroku plugins:install https://github.com/heroku/heroku-taps.git
あなたは古典的なことをすることができます.それは今では単なるプラグインです.
それでも問題が解決しない場合は、他の gem がインストールされていることを確認する必要があるかもしれません。以下を実行して確認することもできます。
gem install heroku taps sequel
これが役立つことを願っています!私は他の世界と同じように db:push/pull が大好きです。それがなくなるのは悲しいです。
それでも問題が解決しない場合は、こちらをご覧ください: https://github.com/heroku/heroku-legacy-taps
幸運を!
私は使用しdb:pull
ていましたが、うまくいきました。削除した後、試してみましたが、うまくいきpg:pull
ません。
別の解決策を見つけました。ローカル データベースが PostgreSQL で、pgbackups アドオンが有効になっている場合、リモート DB をローカル マシンにコピーするために使用する一連のコマンドを次に示します。
$ wget "`heroku pgbackups:url --app app-name`" -O backup.dump
$ # Create the local database first, if it's not created yet. Then:
$ pg_restore -d database-name -c backup.dump -U database-user-name -O --no-acl -h localhost
app-name、database-name、および database-user-name を独自の情報に置き換えます。
データをプルする直前に、heroku にバックアップを作成するように依頼することをお勧めします。
heroku pgbackups:capture --expire
それ以外の場合は、独自のバックアップを作成するたびにデータを取得します。
ここで答えを見つけましたが、レーキタスクに入れました。これは、この状況に対処するための賢明な方法だと思います。Postgres のローカル インスタンスを実行して、Heroku で Postgres を操作している場合は、次のようにしてみてください。
# lib/tasks/database.rake
namespace :database do
desc "Gets the database from heroku and restores it to development"
task :pull => :environment do
dumpfile = 'tmp/latest.dump'
db_config = Rails.application.config.database_configuration[Rails.env]
File.delete(dumpfile) if File.exist?(dumpfile)
`heroku pgbackups:capture --app app-name-here`
system("curl -o #{dumpfile} `heroku pgbackups:url --app app-name-here`")
`pg_restore --verbose --clean --no-acl --no-owner -h localhost -d #{db_config['database']} #{dumpfile}`
end
end
今、本番データをdevにプルしたいときはいつでも、実行するだけですrake database:pull
これは非常に初歩的な解決策ですが、私の場合はこの 1 つのことだけを行う必要があります。
これは、 を試したときに表示されたエラー メッセージですdb:pull
。
db:pull
heroku コマンドではありません。
おそらくあなたが意味しpg:pull
た。使用可能なコマンドのリストについては、
を参照してください。heroku help
試しましたpg:pull
か?
使用法:heroku pg:pull <REMOTE_SOURCE_DATABASE> <LOCAL_TARGET_DATABASE>