Estoy usando rails 3 y comencé mi aplicación con ActiveRecord. Ahora, tengo muchos modelos, y las relaciones se empiezan a complicar, y algunas podrían expresarse más simplemente con una estructura orientada a documentos, así que me gustaría intentar migrar a MongoDB y usar Mongoid.¿Cómo puedo usar Mongoid y ActiveRecord en paralelo en Rails 3?
Siempre he oído que no tienes que usar todo MongoDB o nada, pero que puedes usar los dos en paralelo mientras migras. Sin embargo, no veo cómo hacerlo con los documentos.
Por ejemplo, tengo:
class User < ActiveRecord::Base
has_many :items
has_many :products, :through => :items
end
class Product < ActiveRecord::Base
has_many :items
end
class Item < ActiveRecord::Base
belongs_to :user
belongs_to :product
# alot of data that fits a hierarchical document-oriented structure
end
Me gustaría comenzar idealmente mediante la sustitución de mi modelo activerecord artículo con un documento Mongoid, por lo que mis artículos se almacenan en MongoDB, y mi Users
y Products
puedo quedar en mi SQL DB
La cosa es, no veo cómo hacer esto. ¿Voy por esto de la manera correcta?
Quizás otra alternativa es mantener una base de AR artículo
class Item < ActiveRecord::Base
has_one :mongodb_item ?? # I know this is wrong
end
class MongodbItem
include Mongoid::Document
belongs_to AR_Item ??? # I know this is also wrong
end
Gracias!
Me gusta su enfoque ingenuo! ¿Tuviste algo así en producción? ¿Pasó la prueba a través del tiempo? –
cualquier métrica de rendimiento de referencia? –