【问题标题】:sequel trying to use postgresql instead of postgres as adapters续集尝试使用 postgresql 而不是 postgres 作为适配器
【发布时间】:2011-05-24 20:33:51
【问题描述】:

有一个简单的 Heroku 应用程序,带有 sequel 和 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

【问题讨论】:

  • 这里有问题吗?如果你为 postgresql 使用了“错误”的名称,它会起作用吗?

标签: ruby postgresql heroku sequel


【解决方案1】:

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

详情请参阅http://devcenter.heroku.com/articles/database#database_urls

【讨论】:

    【解决方案2】:

    为了补充 Jeremy 的回复,Heroku 一直在 DATABASE_URL 中使用“postgres”。如果您连接到ENV["DATABASE_URL"],无论您的数据库是什么,它都应该可以工作。

    【讨论】:

      猜你喜欢
      • 2012-08-25
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-22
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多