12

heroku db:pull を何百万回も使用したにもかかわらず、このメッセージが表示されます。コードに触れていないのに、何らかの理由で機能しなくなりました。何か案は?

完全なエラー メッセージは次のとおりです。

db:pullheroku コマンドではありません。おそらく、使用可能なコマンドのリストについては、 pg:pull 「参照」を意味していたでしょう。heroku help

4

7 に答える 7

17

今のところ、タップの神々がタップサーバーのプロビジョニング解除を決定するまで、引き続き heroku-legacy-taps を使用できます。

走る:heroku plugins:install https://github.com/heroku/heroku-legacy-taps.git

その後、通常どおりワークフローを続行db:pushします。db:pull(ヒントをくれた GantMan に感謝)

于 2013-10-16T09:40:38.653 に答える
2

これはまだ可能です。とにかく走れ

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

幸運を!

于 2013-10-14T22:40:48.047 に答える
2

私は使用し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

それ以外の場合は、独自のバックアップを作成するたびにデータを取得します。

于 2014-03-24T16:25:34.247 に答える
0

ここで答えを見つけましたが、レーキタスクに入れました。これは、この状況に対処するための賢明な方法だと思います。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 つのことだけを行う必要があります。

于 2015-01-13T20:52:24.457 に答える
0

これは、 を試したときに表示されたエラー メッセージですdb:pull

db:pullheroku コマンドではありません。
おそらくあなたが意味しpg:pullた。使用可能なコマンドのリストについては、
を参照してください。heroku help

試しましたpg:pullか?

使用法:heroku pg:pull <REMOTE_SOURCE_DATABASE> <LOCAL_TARGET_DATABASE>

于 2013-10-02T20:26:31.933 に答える