2013-06-18 16 views
5

Rails uygulamam için iki farklı veritabanı kullanıyorum: MongoDB ve MsSQLMongoid ve activerecord-sqlserver-adapter adaptörünü kullanarak. Her şey iyi ama Model oluşturulurken bir sorun var.İki farklı Veritabanına sahip raylar

Sorun "MongoDB veya MsSQL ile ilgili modeli nasıl farklı şekilde üretebilirim?" Örneğin için

: I People modeli MongoID ve MsSQL ile Animal modeline ilişkindir oluşturmak istiyor. Komutla oluştururken rails g model Animal name:string mongoid ile ilgili modeli üretir. MsSQL ile ilgili anlamına gelen ActiveRecord ile Animal modelini nasıl üretebilirim.
Lütfen bana yardım edin. çalıştırırken kullanılacak veritabanı rayları söylemenin bir yolunu

Sen 2 veritabanları ve modelleri/göçler bir dizi varsa ve istiyorum: Teşekkür

cevap

1

Öncelikle bana sadece Sorunuzu doğru anladığınız kontrol edelim bir geçiş ve modelinizi kullanarak veritabanına erişme

Doğru bölgede bulunuyorsam, geçişinize ActiveRecord::Migration numaralı connection() yöntemini geçersiz kılan bir yöntem eklemeniz gerekir.

def connection 
    ActiveRecord::Base.establish_connection(:conn_name).connection 
end 
:conn_name config bağlantı ayarlarınızı verdiği isim

/modellerinizden içinde database.yml

modeliniz dosyasının en ve modeline hattını

establish_connection :conn_name 

eklemek şimdi hangi DB'nin bağlanacağını öğrenecek.

0

yüzden (nedeniyle eski nedenlerle mücevher dosyasında mongoid tutarak benim dev ekibine) geçmişte bu ele sahip hızlı ve kirli yolu Göçlerinizin bir paketi çalıştırması, geçişi gerçekleştirmeniz ve çalıştırmanız, ardından uncomment ve yeniden demeti çalıştırmanız gerektiğinde dışarıdaki mongoidi yorumlamaktır. Bu en iyi uygulamalardan uzak ama işe yaramalı.