0

'heroku db:push'を実行してheroku dbの更新をダウンロードしましたが、エラーが表示されます:

tapsロードエラー:ロードするファイルがありません--sqlite3
dbコマンドを使用するには、tapsgemをインストールまたは更新する必要がある場合があります。
ほとんどのシステムでは、これは次のようになります
。sudo gem install taps

heroku 2.25.0をインストールし、0.3.24をタップし、gemsqlite3を次のように置き換えてGemfileを変更しました。

group:development、:test do
gem'sqlite3'
end
group:production do gem'pg
'
end

sqliteとpostgresql間の互換性データベースの問題だと思います。

出来ますか?または何ができますか?

4

2 に答える 2

1

まず、 を実行して、gem がすべて最新であることを確認しますbundle install。すべてがうまくいっていれば害はありませんので、確認してください。

その後、db:pull次のスニペットを使用してローカル マシンにコピーをプルできるようになります。

bundle exec heroku db:pull sqlite://local.db --app my_app

何らかの理由でこれが機能しない場合は、データベースをプルダウンしながら Gemfile を変更するだけで済みます。その後、必要に応じて元に戻すことができます。

group :development, :test do
  gem 'sqlite3'
  # add this next line and run 'bundle install' until you get db:pull to work
  gem 'pg'
end
group :production do
  gem 'pg'
end

(個人的には試していませんが、これでうまくいくと思います。問題があれば返信してください。)

最後に、ローカル マシンで ruby​​ 1.9.3 を実行している場合、データベースのプルとプッシュにいくつかの問題がありますdb:push問題がある場合は、ここに解決策へのリンクがあります。

于 2012-05-14T13:05:31.500 に答える
0

コマンドを実行するherokuと、開発マシンでローカルに実行されます。したがって、developmentGemfile のグループが使用されます。

group :development, :test do
  gem 'sqlite3'
end

が含まれているため、 gem を開発マシンにインストールするsqlite3必要があります。この宝石をローカルにインストールするためsqlite3に実行しましたか? また、gem がロードされていることを確認するために、呼び出し内でコマンドbundle installを実行する必要がある場合があります。herokubundle exec

bundle exec heroku db:pull.

db:pull最後に、Heroku DB をダウンロードする場合は、 ではなくを使用する必要がありますdb:push

于 2012-05-14T12:58:52.097 に答える