2010-02-18 10 views
5

Jakieś rekomendacje dla modułu, który utrzymuje zapytania SQL zewnętrzne dla aplikacji, dla programów Ruby? Poszukuję możliwości uniknięcia twardych kwerend SQL i ewentualnie obsługi wielu backendów SQL w zestawie programów, które tworzą bezpośrednie zapytania SQL (to znaczy nie są pośredniczone przez ORM).Ruby externalized moduł 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) 

w Perlu mogę używać lub coś bardziej egzotycznego jak CAM::SQLManager.

+0

Brzmi interesująco, ale uważam, że ten moduł/klejnot musi być napisany jako pierwszy. Wydaje się nie być zbyt skomplikowane./Czy znalazłeś jakieś rozwiązanie po tak długim czasie? – asaaki

+0

@asaaki, nie, jeszcze nie. Jednak mam kilka nieopisanych scratchów zbudowanych na RDBI (reboot w Ruby/DBI). – pilcrow

Odpowiedz

4

Sequel jest bardziej elastyczny i lżejszy niż inne ORMs jak ActiveRecord i DataMapper:

http://sequel.rubyforge.org/

lub użyć Ruby DBI:

https://github.com/RDBI/rdbi (edytowane)

może będziesz chcesz napisać jakąś warstwę do odczytu zapytań z pliku zewnętrznego, tak jak prosiłeś.

+1

tak! Ale proszę zobacz ['RDBI'] (https://github.com/rdbi) zamiast starego ruby-dbi. – pilcrow

+0

edytowany link, dziękuję;) –

+0

Tak, program ładujący plik RDBI + i wszystko powinno działać zgodnie z oczekiwaniami. – asaaki

Powiązane problemy