Estoy usando la gema pg
para hablar con PostgreSQL desde Ruby. ¿Hay una forma mejor de verificar el si no hay resultados que usando res.ntuples == 0
?¿Hay alguna forma más concisa de verificar si PGResult está vacío?
conn = PGconn.connect config
cmd = "select * from labels inner join labels_mail using(label_id) " +
"where labels_mail.mail_id = $1 and labels.name = $2"
res = conn.exec(cmd, [mail_id, mailbox])
if res.ntuples == 0 # <=== is there a better way to check this?
cmd = "insert into labels_mail (mail_id, label_id) values ($1, $2)"
conn.exec(cmd, [mail_id, label_id(mailbox)])
end
Del mismo modo que una punta, I * * altamente recomendar el uso de la [Sequel] (http://sequel.rubyforge.org/) ORM joya con Postgres o MySQL, o casi cualquier otra base de datos. Le permite usar SQL sin formato o conjuntos de datos, o actuar como un ORM de modelado completo similar a ActiveRecord. –
Gracias. Pero quiero permanecer cerca del metal por motivos de rendimiento. Estoy escribiendo cosas con un mínimo de tiempo de arranque. Probé el enfoque de grabación activa y el tiempo de inicio fue muy lento. – dan