Heroku db:推问题

leo*_*sas 5 gem heroku

我正在尝试将我的本地Postgres数据库推送到我的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
Run Code Online (Sandbox Code Playgroud)

我已经尝试了sudo gem install taps,sudo gem install sqlite3但我不能让它发挥作用.任何想法为什么它在我使用postgres时尝试加载sqlite3 db?

Rya*_*gle 14

在postgres实例之间迁移数据时,不再使用Taps作为推荐的工具.请试试heroku-pg-transfer.

这只有在您使用其中一个生产数据库或新的Heroku postgres开发计划时才有效.如果您仍在旧的共享数据库计划中,我建议您切换到新的开发计划.

首先,在Heroku上找到数据库的URL:

$ heroku config:get DATABASE_URL
postgres://yada:yada@ec2-107-21-122-141.compute-1.amazonaws.com:5432/123
Run Code Online (Sandbox Code Playgroud)

然后从本地数据库转移到heroku数据库:

$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer
$ heroku pg:transfer -f postgres://localhost/dbname -t postgres://yada:yada@ec2.../123
Run Code Online (Sandbox Code Playgroud)

由于heroku-pg-transfer工具使用postgres的原生pg_dump工具,因此它是一种更具可预测性和弹性的工具.