2015-09-03 18 views
5

Herhangi bir güncelleştirilmiş kaynak/kılavuz, eklenti veya Birden Fazla Veri Tabanı (her kiracı için bir tane) olan Grails Multitenancy hakkında bir örnek bulamıyorum. Şu anda https://grails.org/plugin/multi-tenant-single-db ve güncel olmayan https://grails.org/plugin/multi-tenant-core ile sıkışmış durumdayım.Birden Fazla Veritabanında Çok Kirazlı Grails

Oturum açmış olan kullanıcıya bağlı olan veritabanı geçişi nasıl yapılır?

+1

Çok kullanıcılı eklentiler güncel değil ve Hibernate 3 kullanıyor. Tek db eklentisine dayalı olarak 2.3 numaralı bir uygulamam var. Kiracı eklentisi başına DB daha eskidir. Hazırda Bekletme 4, kiracı tabanlı çoklu kullanım başına kiracı ve şema başına DB desteği sağlamıştır. Bunu yapmak için çağrıları engelleyebilir ve AST dönüşümlerini kullanabilirsiniz. Ama bu zaman alıcı bir iştir. Hazırda bekletme belgelerini kullanmanız gerekecek. –

+0

@EjazAhmed Teşekkürler! Hibernate 4 yaklaşımını deneyebilirim. – renz

+0

@renz Bunun için bir çalışma çözümü buldunuz mu? – lifeisfoo

cevap

3

Kepçeler, Hazırda Bekletme gibi bir çok şeyi özetlemektedir, böylece Gorm ile Hazırda Bekleme arasında bir empedans uyuşmazlığı vardır. Böyle bir sorun, kiracıya dayalı birden fazla veri kaynağının yüklenmesidir. DB stratejisi başına kiracıya giderseniz, bir hard battle için hazır olun. Karmaşıklığın yanı sıra, DB bakımının bu stratejide oldukça maliyetli olması nedeniyle uzun bir yol var. Çoğu modern uygulama Tek DB Tek Şema yaklaşımı kullanır ve ben de bu yaklaşımı my plugin'da kullandım. Şu anda bu eklenti Spring Security kullanarak kiracıyı çözmektedir. Bu yaklaşımın sebebi, üzerinde çalıştığım uygulamanın tek bir alandan sunulması gereken bir SaaS uygulamasıydı. Birden fazla alandan hizmet etmeniz gerekiyorsa, bu eklentide küçük bir değişiklik yapılması gerekir.

Grails3'e geçişle ilgili olarak, Mart 2015'te piyasaya sürüldü ve bir yıllık süre boyunca çeşitli iyileştirmeler ve hata düzeltmeleri yapıldı. Güvenmek için yeterince kararlı ve dahası, halihazırda taşınmış olan hemen hemen tüm gerekli eklentilere sahip. Yeni bir uygulama oluşturuyorsanız, grails3 yoluna gitmelisiniz. Mevcut bir uygulamanız varsa, grails3'e geçiş yapmayı düşünebilirsiniz.