Mongoid identity_map включен для веб-запросов, но выключен для фоновых или граблей? - PullRequest
2 голосов
/ 22 февраля 2012

Есть ли способ включить identity_map для веб-запросов, но отключить по умолчанию в консоли или в задачах rake?Это, кажется, продолжает сбивать меня с толку.

Это для mongoid и рельсов.

1 Ответ

1 голос
/ 29 мая 2012

Если вы перейдете на mongoid 3.0.0.rc, то метод using_identity_map может быть переопределен для предоставления того, что вы хотите. Будьте бдительны.

конфиг / Инициализаторы / identity_map.rb

module Mongoid
  module UnitOfWork
    def using_identity_map?
      Mongoid.identity_map_enabled? && Threaded.identity_map_enabled? && (! defined? IRB) && ($0 !~ %r{rake})
    end
  end
end

Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.3'
gem 'jquery-rails'
gem 'builder', '3.0.0'
gem 'mongoid', '3.0.0.rc'
gem 'bson_ext'

Обратите внимание, что файл конфигурации для 3.0.0 значительно отличается, и что шаблон по умолчанию в настоящее время устанавливает только разработку и отсутствует разделы для испытаний и производства.

Метод using_identity_map недоступен до 3.0.0, например, 2.4.10, где вам придется сбросить identity_map_enabled явно через .irbrc или Rakefile.

...