默认使用 DATABASE_URL 扩展名 Sinatra/Sequel
Use DATABASE_URL by default with Sinatra/Sequel extension
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 这个问题。提前致谢。
正如我在链接的 GitHub 问题中回答的那样,最好的方法是简单地从 configure
块中调用 database
,这将调用默认逻辑。
configure do
abort 'Unable to establish database connection' unless database
end
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 这个问题。提前致谢。
正如我在链接的 GitHub 问题中回答的那样,最好的方法是简单地从 configure
块中调用 database
,这将调用默认逻辑。
configure do
abort 'Unable to establish database connection' unless database
end