2010-02-18 12 views
5

¿Alguna recomendación para un módulo que mantiene consultas SQL externas a la aplicación, para programas Ruby? Estoy tratando de evitar la codificación de las consultas SQL y posiblemente admitir múltiples backends SQL en un conjunto de programas que hacen consultas SQL directas (es decir, que no están mediadas a través de un ORM).ruby ​​externalized Módulo 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) 

en Perl puede ser que utilice o algo más exótico como CAM::SQLManager.

+0

Suena interesante, pero creo que este módulo/gema debe escribirse primero. Parece que no es demasiado complicado./¿Encontraste alguna solución después de tanto tiempo? – asaaki

+0

@asaaki, no, todavía no. Sin embargo, tengo algunos scratchings inéditos construidos sobre el RDBI (reinicio de Ruby/DBI). – pilcrow

Respuesta

4

Sequel es más ligero y flexible que otros ORM como ActiveRecord y DataMapper:

http://sequel.rubyforge.org/

o puede utilizar Rubí DBI:

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

Tal vez quiera desea escribir una capa para leer consultas de un archivo externo, como lo pidió.

+1

¡sí! Pero, por favor, vea ['RDBI'] (https://github.com/rdbi) en lugar del antiguo ruby-dbi. – pilcrow

+0

enlace editado, gracias;) –

+0

Sí, archivo RDBI + cargando el ayudante y todo debería funcionar como se esperaba. – asaaki

Cuestiones relacionadas