2010-02-18 48 views
5

針對Ruby程序的模塊的任何建議,這些模塊將SQL查詢保留在應用程序外部?我正在尋求避免硬編碼SQL查詢,並可能在一組程序中支持多個SQL後端,這些程序可以直接進行SQL查詢(即不通過ORM調用)。ruby​​ externalized SQL模塊

Hyopthetically:

# Production system is pg, dev environment is sqlite 
sql_book = What::Module::Here.load(a_file, 
            ENV['DEVEL'] ? 'PostgreSQL' : 'SQLite3') 

# Okay, now get all Widget IDs 
r = db_handle.execute(:load_all_widget_ids) 

在Perl中我可能會使用或一些更奇特的像CAM::SQLManager

+0

聽起來很有趣,但我相信這個模塊/寶石必須先寫。似乎不太複雜。 /這麼長時間後你找到了解決辦法嗎? – asaaki 2011-06-01 13:03:09

+0

@asaaki,不,還沒有。但是,我在RDBI(Ruby/DBI重新啓動)之上構建了一些未釋放的擦除。 – pilcrow 2011-06-01 13:31:12

回答

4

續集比其他奧姆斯比如ActiveRecord和DataMapper的更輕更靈活:

http://sequel.rubyforge.org/

,或者你可以使用Ruby DBI:

https://github.com/RDBI/rdbi(編輯)

也許你會想要寫一些圖層來讀取來自外部文件的查詢,就像你問的那樣。

+1

是的!但請參閱['RDBI'](https://github.com/rdbi)而不是舊的ruby-dbi。 – pilcrow 2011-06-01 13:35:32

+0

編輯鏈接,謝謝;) – 2011-06-01 13:53:45

+0

是的,RDBI +文件加載助手和一切應該按預期工作。 – asaaki 2011-06-01 14:35:32