续集试图使用postgresql而不是postgres作为适配器

时间:2011-05-24 20:33:51

标签: ruby postgresql heroku sequel

有一个简单的heroku应用程序与续集和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'

sequel-3.23.0 / lib / sequel / adapters /中没有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

2 个答案:

答案 0 :(得分:4)

续集一直使用postgres适配器的“postgres”。如果您已将“postgresql”指定为适配器方案,那么它应该不起作用。如果你使用的是Rails,Heroku会以ActiveRecord格式创建一个database.yml文件(使用“postgresql”),我猜这是你的rake任务正在捡起来的。如果您正在使用Rails / Sequel集成工具,我猜它不是为您处理转换,应该修复它。就个人而言,我使用Heroku提供的DATABASE_URL环境变量手动设置数据库连接。

有关详细信息,请参阅http://devcenter.heroku.com/articles/database#database_urls

答案 1 :(得分:0)

为了补充Jeremy的回应,Heroku总是在DATABASE_URL使用“postgres”。如果您连接到ENV["DATABASE_URL"],无论您的数据库是什么,它都应该有效。