我在使用ruby 1.9.2-p320和Heroku的Taps-using 'db'命令时出现了以下错误:
heroku db:pull --app my-app
字符串
这会产生以下错误:
Taps Load Error: no such file to load -- sqlite3
型
- 或者-
Taps Load Error: no such file to load -- pg
型
(And是的,顺便说一句,我有所有正确的gem,包括postgres-在本地运行良好-和sqlite3,以及卸载,重新安装和更新了tap和heroku gem,并将它们包括在我的Gemfile中。我正在运行Rails 3.2.6)
虽然有一个已知的bug会导致“时区位移”错误:heroku db:push not working, using taps gem,我还没有看到任何SO帖子直接解决这个问题。
4条答案
按热度按时间nfg76nw01#
在postgres示例之间迁移数据时,Taps不再是推荐使用的工具。请给予heroku-pg-transfer。
只有当您使用production databases或新的Heroku postgres dev or basic plans之一时,这才有效。如果你还在使用旧的共享数据库计划,我建议你切换到新的开发计划。
首先,在Heroku上找到你的数据库的URL:
字符串
然后从heroku数据库转移到本地数据库:
型
由于heroku-pg-transfer工具利用了postgres的原生pg_dump功能,因此它是一个更具可预测性和弹性的工具。
我在这里写了更多:Using heroku pg:transfer to migrate Postres databases的
kg7wmglp2#
我的解决方案是将taps gem和sqlite3 gem(即使我没有在应用程序中的任何地方使用sqlite)添加到gem文件(正在开发中)。
yrdbyhpb3#
我找到的解决方案,使用来自https://github.com/ricardochimal/taps/issues/92的提示,详细如下:https://github.com/ricardochimal/taps/issues/92#issuecomment-6486535
简而言之,据我所知,ruby 1.9.2-p320似乎是个问题。降级到ruby 1.9.2-p290为我修复了它。这可能与上面链接中提到的ruby 1.9.3问题有关,不确定。
如果你仍然挂在那里与水龙头,请参阅这一评论在生长激素,作为海报doshea似乎已经调查了它甚至比我或jfeust更彻底。
我也会在这里重申,如果你不需要Taps,那么heroku-pgtransfer是你的朋友。请参阅有关使用较新工具的Ryan's answer to my question here和his excellent blog post。
bprjcwpo4#
就像@Likethesky一样,你可以降级。或者,只要
字符串
当然,这需要安装p320和tap以及sqllite 3 gems。很容易安装到位。