2012-03-07 113 views
3

我在Rails2/linux上使用AR和SQLServer適配器。在我的本地環境中,我可以輕鬆更改freetds和odbc.ini文件以追溯並找出連接信息。但是在測試環境中,這些信息不斷變化並且不同步,因此我試圖將其放入日誌記錄中,以便更輕鬆地進行故障排除。有沒有辦法從ActiveRecord連接找出服務器?

是的,我知道TinyTDS做得更好,我們正在轉向那個,但還沒有完成。

我可以這樣做:

ActiveRecord::Base.connection.current_database 

但無法找到如何讓服務器的地址或IP類似的事情。

回答

2

我不記得是否有這個一個公共API,但你可以得到AR的配置這樣

ActiveRecord::Base.connection.instance_variable_get '@config' 

這個返回的配置散列,其中包括主機

+0

ACK,這將工作,如果它是一些其他的驅動程序...但在我的...沒有骰子:'(rdb:2)MyARClass.connection ># (rdb:2)MyARClass.connection.instance_variable_get'@config' > nil' – 2012-03-07 21:03:17

+0

我沒有SQLServer來測試,但MyARClass.connection.connection_options是不可能的? – beanie 2012-03-07 22:28:30

+0

顯然不是? '>> MyARClass.connection.connection_options NoMethodError:未定義的方法 'connection_options' 爲# \t從(IRB):4 \t從/local/rvm/rubies/ruby-1.9 .2-p290/bin/irb:16:'

'' – 2012-03-07 23:05:32

相關問題