Mi aplicación de rieles tiene su propia base de datos MySql (y requiere la gema mysql2) pero también necesita conectarse con una base de datos MongoDB externa para un modelo en particular (y he incluido mongoid y bson_ext en el Gemfile) Ahora, cuando intento generar una migración de un nuevo modelo, que me dice queEstablecer conexión de base de datos predeterminada Rieles
$ rails g migration CreateLocations
error mongoid [not found]
Cuando me genera el modelo Ubicación incluía Documento Mongoid ::, por lo que los carriles obviamente piensa que está utilizando la base de datos externa como mi primaria Almacén de datos.
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
ACTUALIZACIÓN modelo que utiliza 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
Una solución es comenta 'mongoid' en mi Gemfile, crea y ejecuta las migraciones, luego descomenta y vuelve a enlazar. Obviamente no es legítimo – Chris
Por favor, publique el código de modelo relevante para el que usa MongoDB. –
@DeanBrundage actualizado – Chris