2010-02-18 18 views
5

SQL programlarını dışsal olarak Ruby programlarına karşı tutan bir modül için öneriler var mı? SQL kodları kodlamaktan kaçınmak ve olası SQL sorgularını (yani bir ORM aracılığıyla aracılık etmeyen) bir dizi programda birden fazla SQL arka ucunu desteklemekten kaçınmaya çalışıyorum.ruby ​​dışsallaştırılmış SQL modülü

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) 

Perlde ben veya CAM::SQLManager gibi daha egzotik bir şey kullanabilir.

http://sequel.rubyforge.org/

veya kullanabilirsiniz Yakut DBI:

+0

İlginç geliyor ama bu modülün/gemin önce yazılması gerektiğine inanıyorum. Çok karmaşık görünmüyor. Bu uzun süre sonra herhangi bir çözüm buldunuz mu? – asaaki

+0

@asaaki, hayır, henüz değil. Bununla birlikte, RDBI (Ruby/DBI yeniden başlatma) üzerine kurulu bazı kestirilmemiş çiziklerim var. – pilcrow

cevap

4

devamı ActiveRecord ve DataMapper gibi diğer ORMs daha hafif ve esnektir

https://github.com/RDBI/rdbi (düzenlenmiş)

belki olacak Sorduğunuz gibi harici bir dosyadan sorguları okumak için bir katman yazmak istiyorum.

+1

evet! Ama lütfen eski ruby-dbi'den ziyade ['RDBI'] 'ye (https://github.com/rdbi) bakınız. – pilcrow

+0

bağlantı düzenlendi, teşekkür ederim;) –

+0

Evet, RDBI + dosya yükleme yardımcısı ve her şey beklendiği gibi çalışmalıdır. – asaaki