Ứng dụng đường ray của tôi có cơ sở dữ liệu MySql riêng (và yêu cầu gem mysql2) nhưng cũng cần kết nối với cơ sở dữ liệu MongoDB bên ngoài cho một mô hình cụ thể (và vì vậy tôi đã bao gồm mongoid và bson_ext trong Gemfile). Bây giờ khi tôi cố gắng tạo ra một sự chuyển đổi cho một mô hình mới, nó nói với tôi rằngThiết lập kết nối cơ sở dữ liệu mặc định Rails
$ rails g migration CreateLocations
error mongoid [not found]
Khi tôi tạo ra các mô hình Location nó bao gồm tài liệu Mongoid ::, vì vậy Rails rõ ràng rằng nó được sử dụng cơ sở dữ liệu bên ngoài như chính của tôi kho dữ liệu.
databse.yml:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: associalize_development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
mongoid.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
CẬP NHẬT mẫu có sử dụng Mongo
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
Một cách giải quyết là nhận xét ra 'mongoid' trong Gemfile của tôi, tạo và chạy các di chuyển, sau đó bỏ ghi chú và trả lại. Rõ ràng là không hợp pháp. – Chris
Vui lòng đăng mã mô hình có liên quan cho mã sử dụng MongoDB. Đã cập nhật –
@DeanBrundage – Chris