【问题标题】:Rails 3: how to use active record and mongoid at the same timeRails 3:如何同时使用活动记录和mongoid
【发布时间】:2011-07-21 15:25:51
【问题描述】:

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

是否可以在 mysql 和 mongoid 上将 rails 与活动记录挂钩?

开箱即用似乎不起作用...有什么提示吗? 或者这是不推荐的方法?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 mongodb mongoid


    【解决方案1】:

    好吧,要做到这一点,你应该保持 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
    

    【讨论】:

    • 必须先创建 mysql,即使我不使用它们......之后它就像你描述的那样工作,谢谢!......有一件事......在配置 mongoid rails 生成器之后只能处理文档,是否意味着我必须为 AR 手动生成模型?
    • 我会说是的,但是值得调查一下您是否可以成功生成其中任何一个。我去看看,你也可以。 mongoid.org 是一个很好的起点。
    • Mongoid gem 会覆盖 Rails 中的 orm 生成器,但您应该能够通过在 application.rb 中添加类似这样的内容来重置它:config.generators {|g| g.orm :active_record}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    相关资源
    最近更新 更多