Rails Rails db agnostic

simonykq · September 27, 2014 · Last by simonykq replied at September 28, 2014 · 2209 hits

我最近公司需要做一个项目。初步决定用 Rails 做。但项目要求后端链接不同种类的 database,像 Postgres,Mongodb etc。我不知道一个 Rails 项目可不可以链接多种不同形式的 db。比如,Person 类映射到 Postgres 数据库的一个 table,Project 类映射到 Mongo 数据库的一个 collection 上?

最新版本的 Rails 有没有这种多数据库的支持?

在网上找到了这个,说的是 ActiveRecord::Base, 所以我不知道 mongodb 能不能用... 貌似 mongodb 的 class 不用 继承 ActiveRecord::Base

能同时使用ActiveRecord , Mongoid, Redis, ES

可以,多数据库,多连接支持,而且是无缝的 ActiveRecord 支持。

刚试过。果然可以!只不过在把 Mongoid gem 加入 Gemfile 之后每当使用 Rails 的 generator 生成 model 或 scaffold 之后,rails 将默认使用 Mongoid 作为 ORM 而不是 ActiveRecord,Migration 以后也需要手动创建!

多谢各位大侠的回复!

You need to Sign in before reply, if you don't have an account, please Sign up first.