2010-06-18 19 views
5

benim yakut bağlı olduğu veritabanı bağlantı dizesini almak için herhangi bir yolu var mı bağlantı dizeleri almak için? ne ben almak istiyorum geçerli:Yakut raylar üzerinde - nasıl

1) yakut 2 bağlandığı Veritabanı adı), SQL Server kullanıcı adı SQL Server

istediğim 4) Sunucu ismi 3) Şifre oturum değişkenlerinde saklamak.

(bi'şey MS SQL Server kullanan.)

yardım edin! Teşekkürler!

+0

(docs bakınız) yapabilir. Tamam. Bunları neden bir oturumda saklamak istiyorsun? – theIV

+0

çünkü bir CGI uygulamasını çağırmam gerekiyor ve bu CGI'nin rubyemin bağlı olduğu veritabanına bağlanması gerekiyor. Her müşterinin farklı bağlantı dizeleri olduğunu unutmayın, böylece CGI uygulamasının bağlantı dizesi, ruby ​​bağlantı dizgisine bağlı olarak dinamik olmalıdır. Umarım bu konuda bana yardım edebilirsin. teşekkürler – Jett

cevap

0

Bu değerler her dosyada config/database.yml saklanır, ancak AFAIK size denetleyicisi içinden değişkenler olarak bu değerleri erişemez.

+0

Uygulamanız config/database.yml dosyasını okuyabilir/yorumlayabilir. O zaman tüm bilginin istediği gibi olması gerekir. –

0

Veritabanı: ActiveRecord::Base.connection.current_database

Ayrıca aşağıdaki ile bazı fantezi Regexs yapabilirdi:

ActiveRecord::Base.connection.inspect 

Ama evet, bu çok kötü bir fikir.

+0

kullanıcı adı ve şifreyi gösterir ActiveRecord :: Base.connection.inspect kullanarak ama regexs sorunlar yaşıyorum', sadece şifre sadece – Jett

5

Böyle senin database.yaml açıklanan özelliklerin tümünü erişebilirsiniz: Ben ActiveRecord 3.

+0

Bu benim için mükemmel çalıştı diyelim olsun olamaz. Üretim veritabanımızın mysqldump'ed bir rake görevi yazması gerekiyordu ve database.yml dosyasının dışındaki bağlantı dizelerini kodlamak istemedim. –

5

Sizin gibi sesler sadece doğrudan veritabanına bağlanmak istiyorum. Sen rails dbconsole ile ben bile oturum değişkenleri bu depolamak istediğiniz neden sormak gitmiyorum

0

seçeneklerini içeren karma döndürür ActiveRecord::Base.connection_config ile gider

ActiveRecord::Base.configurations["development"] => 
{"encoding"=>"utf8", "username"=>"foo", "adapter"=>"mysql", "database"=>"bar_development", "host"=>"localhost", "password"=> "baz"} 
İlgili konular