【问题标题】:Use DATABASE_URL by default with Sinatra/Sequel extension在 Sinatra/Sequel 扩展中默认使用 DATABASE_URL
【发布时间】:2015-11-18 05:58:59
【问题描述】:

README for sinatra/sequel 声明set :database 语句可以省略,默认使用DATABASE_URL 环境变量。从源头上看,这似乎是真的。但是,当它尝试加载我的模型定义时,省略此行会导致以下错误:

.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/sequel-4.25.0/lib/sequel/model/base.rb:226:
in `db': No database associated with Sequel::Model: have you called Sequel.connect 
or Sequel::Model.db= ? (Sequel::Error)

我意识到我想省略这一行(并且不必写:set database, ENV['DATABASE_URL'])有点迂腐,但是为了学习,有没有办法调用这个模块的默认行为?我也问了over here这个问题。提前致谢。

【问题讨论】:

  • 请注意,该项目的最后一次提交是在 2013 年 1 月,您可能会遇到一些有趣的问题,因为 Sinatra 和 Sequel 都是从那时起发展而来的。

标签: ruby sinatra sequel


【解决方案1】:

正如我在链接的 GitHub 问题中回答的那样,最好的方法是简单地从 configure 块调用 database,这将调用默认逻辑。

configure do
  abort 'Unable to establish database connection' unless database
end

【讨论】:

    猜你喜欢
    • 2013-12-03
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    相关资源
    最近更新 更多