2010-02-18 9 views
5

Qualche raccomandazione per un modulo che mantiene le query SQL esterne all'applicazione, per i programmi Ruby? Sto cercando di evitare query SQL hardcoding e possibilmente di supportare più backend SQL in una serie di programmi che fanno query SQL dirette (cioè, non mediate tramite un ORM).modulo SQL serializzato rubino

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) 

in Perl potrei usare o qualcosa di più esotico come CAM::SQLManager.

+0

I suoni sono interessanti, ma credo che questo modulo/gemma debba essere scritto per primo. Sembra non essere troppo complicato./Hai trovato qualche soluzione dopo tanto tempo? – asaaki

+0

@asaaki, no, non ancora. Tuttavia, ho alcuni graffi inediti creati sopra l'RDBI (riavvio Ruby/DBI). – pilcrow

risposta

4

Sequel è più leggero e flessibile di altri ORM come ActiveRecord e DataMapper:

http://sequel.rubyforge.org/

oppure è possibile utilizzare Rubino DBI:

https://github.com/RDBI/rdbi (a cura)

forse potrai vuoi scrivere un layer per leggere le query da un file esterno, come richiesto.

+1

sì! Ma per favore vedi ['RDBI'] (https://github.com/rdbi) piuttosto che il vecchio ruby-dbi. – pilcrow

+0

collegamento modificato, grazie;) –

+0

Sì, l'helper di caricamento file RDBI + e tutto dovrebbe funzionare come previsto. – asaaki