In questo momento sono nel mezzo della migrazione da SQLite a Postgresql e mi sono imbattuto in questo problema. La seguente dichiarazione preparata lavora con SQLite:Dichiarazione preparata su Postgresql in Rails
id = 5
st = ActiveRecord::Base.connection.raw_connection.prepare("DELETE FROM my_table WHERE id = ?")
st.execute(id)
st.close
Purtroppo non funziona con PostgreSQL - viene generata un'eccezione alla linea 2. ero alla ricerca di soluzioni e sono imbattuto in questo:
id = 5
require 'pg'
conn = PG::Connection.open(:dbname => 'my_db_development')
conn.prepare('statement1', 'DELETE FROM my_table WHERE id = $1')
conn.exec_prepared('statement1', [ id ])
Questo uno non riesce alla linea 3. Quando stampo eccezione come questo
rescue => ex
ex contiene questo
{"connection":{}}
L'esecuzione di SQL in una riga di comando funziona. Qualche idea su cosa sto facendo male?
Grazie in anticipo!
Come posso trovare questo fuori? Sto chiedendo perché non c'è uscita nella console riguardo un'eccezione. –