5

ローカル Postgres db を Heroku アプリにプッシュしようとしています。Heroku ガイドに従って実行しheroku db:pushましたが、次のエラーが発生しました。

leonsas@leonsas-VirtualBox:~$ heroku db:push
 !    Taps Load Error: cannot load such file -- sqlite3
 !    You may need to install or update the taps gem to use db commands.
 !    On most systems this will be:
 !    
 !    sudo gem install taps

、は既に試しましたがsudo gem install tapssudo gem install sqlite3うまくいきません。postgres を使用しているときに sqlite3 db をロードしようとする理由はありますか?

4

1 に答える 1

14

タップは、postgres インスタンス間でデータを移行する際に使用する推奨ツールではなくなりました。代わりにheroku-pg-transferを試してください。

これは、実稼働データベースの 1 つまたは新しいHeroku postgres dev planを使用している場合にのみ機能します。まだ古い共有データベース プランを使用している場合は、新しい開発プランに切り替えることをお勧めします。

まず、Heroku でデータベースへの URL を見つけます。

$ heroku config:get DATABASE_URL
postgres://yada:yada@ec2-107-21-122-141.compute-1.amazonaws.com:5432/123

次に、ローカル データベースから heroku データベースに転送します。

$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer
$ heroku pg:transfer -f postgres://localhost/dbname -t postgres://yada:yada@ec2.../123

heroku-pg-transfer ツールは postgres のネイティブ pg_dump 機能を利用するため、はるかに予測可能で回復力のあるツールです。

于 2012-06-21T01:10:00.440 に答える