我最近公司需要做一个项目。初步决定用 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
Redis
ES
可以,多数据库,多连接支持,而且是无缝的 ActiveRecord 支持。
刚试过。果然可以!只不过在把 Mongoid gem 加入 Gemfile 之后每当使用 Rails 的 generator 生成 model 或 scaffold 之后,rails 将默认使用 Mongoid 作为 ORM 而不是 ActiveRecord,Migration 以后也需要手动创建!
多谢各位大侠的回复!