Rails 3:如何同时使用活动记录和mongoid

ser*_*nfo 11 ruby-on-rails mongodb mongoid ruby-on-rails-3

我读过很多人建议将nosql与sql数据存储区一起使用.例如,在mysql中有一些报告审计跟踪或日志信息,在mongodb中有一些线程分层数据.

是否有可能在mysql和mongoid上挂起活动记录的rails?

开箱即用它似乎不起作用...任何提示?或者这是一种不推荐的方法?

Srd*_*jic 13

好吧,要做到这一点,你应该保持Rails不变,所以不要排除像Mongoid文档中常见的那样的库.你需要单独配置它们,所以你需要有一个database.yml和mongo.yml配置文件,你需要确保它们都被加载.

之后,您可以基于每个模型启用/禁用AR和Mongoid.

class User < ActiveRecord::Base
  #this is an AR model
end

class Item
  include Mongoid::Document
  #this is a Mongoid model
end
Run Code Online (Sandbox Code Playgroud)

  • Mongoid gem 会覆盖 Rails 中的 `orm` 生成器,但是您应该能够通过在 application.rb 中添加如下内容来重置它: `config.generators {|g| g.orm :active_record}` (2认同)