Heroku db:推问题

时间:2012-06-20 19:19:27

标签: heroku gem

我正在尝试将我的本地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

我已经尝试了sudo gem install tapssudo gem install sqlite3,但我无法让它发挥作用。我在使用postgres时试图加载sqlite3 db的任何想法?

1 个答案:

答案 0 :(得分:14)

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

仅当您使用production databases或新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 db:

$ 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工具,因此它是一种更具可预测性和弹性的工具。