私の Rails アプリには独自の MySql データベースがあります (そして mysql2 gem が必要です) が、1 つの特定のモデル用に外部の MongoDB データベースに接続する必要もあります (そのため、Gemfile に mongoid と bson_ext を含めました)。新しいモデルの移行を生成しようとすると、次のように表示されます
$ rails g migration CreateLocations
error mongoid [not found]
Location モデルを生成したとき、Mongoid::Document が含まれていたため、Rails は明らかに外部データベースをプライマリ データストアとして使用していると考えています。
データベース.yml:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: associalize_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
モンゴイド.yml:
development:
host: pearl.mongohq.com
port: 27019
username: asfasdf
password: sadfasdf
database: app4574678
test:
host: pearl.mongohq.com
port: 27019
username: asdfadhasdfa
password: hadsadfas
database: app4574678
production:
host: pearl.mongohq.com
port: 27019
username: asdfdfsasda
password: afdasdfdasdf
database: app4574678
Mongo を使用するUPDATEモデル
class ExternalMongoModel
include Mongoid::Document
field :title
field :long_title
field :deal_type
field :merchandise_type
field :market_id
field :market_name
field :market_location, type: Array
field :featureType
field :country_code
field :subtitle
field :offer_ends_at
field :price
field :value
field :merchant_type
field :content
field :merchant
index(
[[:division_latlon, Mongo::GEO2D]], background: true
)
end