2011-01-06 13 views
1

我正在研究一個Rails 3應用程序,該應用程序可以調用具有非常嚴格的權限結構的遺留數據庫。記錄可見性是爲每個數據庫用戶設置的,因此在查看受限記錄時,我需要使用用戶的憑據來進行選擇請求。在DataMapper中爲單個請求使用不同的數據庫用戶

我可以用DataMapper.setup改變我與所連接的用戶,但問題是,這是不要求具體的:它設置它爲所有請求在未來

如何設置的DataMapper來使用特定的數據庫用戶進行單個或一小組查詢,同時不影響應用程序的其餘部分?

回答

2

您是否嘗試過使用多個數據存儲連接?例如

DataMapper.setup(:default, "oracle:://user1:[email protected]") 
DataMapper.setup(:restricted, "oracle://user2:[email protected]") 

然後可以使用default連接爲正常,並使用restricted連接通過在塊包裹代碼:

DataMapper.repository(:restricted) { 
    Person.first 
} 

的更多信息可以在http://datamapper.org/docs/misc找到。

相關問題