Rails 4 Unicorn服务应用程序没有ActiveRecord

时间:2013-07-31 02:12:21

标签: ruby-on-rails deployment ruby-on-rails-4 unicorn

我正在构建一个不使用任何数据库的rails 4应用程序。我已经在我的开发机器上成功禁用了ActiveRecord,方法是在线删除database.yml并替换

require 'rails/all'

require "action_controller/railtie"
require "action_mailer/railtie"
require "rails/test_unit/railtie"
require "sprockets/railtie"

它在本地工作但是当我尝试在运行独角兽的服务器上部署它时,我在错误日志上得到了这个

ERROR -- : ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished)
/home/rtb/shared/bundle/ruby/2.0.0/gems/activerecord-4.0.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:546:in `retrieve_connection'

当我启用了database.yml并启用了activerecord时,应用程序在生产的unicorn服务器上运行良好。有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

ActiveRecord的ConnectionManagement中间件可能仍处于活动状态。此中间件管理每个请求的连接池。如果您尚未加载ActiveRecord,则它不应处于活动状态。

您可以在Rails配置中使用以下行手动删除中间件:

config.app_middleware.delete "ActiveRecord::ConnectionAdapters::ConnectionManagement"