Rails Rails db agnostic

simonykq · 2014年09月27日 · 最后由 simonykq 回复于 2014年09月28日 · 2215 次阅读

我最近公司需要做一个项目。初步决定用 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 以后也需要手动创建!

多谢各位大侠的回复!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号