2

有一个带有续集和 postgres 的简单 heroku 应用程序。但是,我得到了:

% 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
4

2 回答 2

4

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

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

于 2011-05-24T23:34:25.090 回答
0

只是为了补充 Jeremy 的回应,Heroku 在DATABASE_URL. 如果您连接到ENV["DATABASE_URL"],无论您的数据库是什么,它都应该可以工作。

于 2011-05-25T02:26:28.450 回答