2011-05-24 42 views
2

有一个简单的heroku应用程序,带有续集和postgres。但是,我得到:尝试使用postgresql代替postgres作为适配器的续集

% heroku rake db:migrate 
rake aborted! 
LoadError: no such file to load -- sequel/adapters/postgresql 
/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.23.0/lib/sequel/core.rb:249:in `require' 

有一个在续集-3.23.0/lib目录/续集/适配器没有postgresql.rb /有我的本地驱动器上的postgres.rb。我正在使用免费计划。

% heroku info 
... 
Dynos:   1 
Workers:  0 
Repo size:  9M 
Slug size:  8M 
Stack:   bamboo-mri-1.9.2 
Data size:  (empty) 
Addons:   Basic Logging, Shared Database 5MB 


% heroku pg:info 
=== kampanchi database SHARED_DATABASE_URL 
+0

这里有问题吗?如果你使用postgresql的“错误”名称,它是否工作? – 2011-05-24 22:03:57

回答

4

续集一直使用“postgres”作为postgres适配器。如果您已指定“postgresql”作为适配器方案,则它不应起作用。如果您使用的是Rails,Heroku会使用ActiveRecord格式创建一个database.yml文件(使用“postgresql”),我猜这就是您的Rake任务正在采用的。如果你正在使用Rails/Sequel集成工具,我猜它没有为你处理这个转换,它应该被修复。就我个人而言,我会使用Heroku提供的DATABASE_URL环境变量手动设置数据库连接。详细请参照http://devcenter.heroku.com/articles/database#database_urls

0

为了补充Jeremy的回应,Heroku总是在DATABASE_URL中使用“postgres”。如果你连接到ENV["DATABASE_URL"],它应该工作,不管你的数据库是什么。

相关问题