Подготовлено заявление о Postgresql в Rails
Сейчас я нахожусь в процессе перехода с SQLite на Postgresql, и я столкнулся с этой проблемой. Следующий подготовленный оператор работает с SQLite:
id = 5
st = ActiveRecord::Base.connection.raw_connection.prepare("DELETE FROM my_table WHERE id = ?")
st.execute(id)
st.close
К сожалению, он не работает с Postgresql - он создает исключение в строке 2. Я искал решения и наткнулся на это:
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 ])
Это не удается в строке 3. Когда я печатаю исключение, как это
rescue => ex
бывший содержит это
{"connection":{}}
Выполнение SQL в командной строке работает. Есть идеи, что я делаю не так?
Заранее спасибо!