Я пытаюсь использовать запрос подготовить оператор для MySQL и PostgreSQL
Следующий код работает для PostgreSQL
connection = ActiveRecord::Base.connection
query = 'UPDATE stores SET key = $1 WHERE id = $2'
connection.exec_query(query, "SQL", [[nil, 'x'], [nil, 1]])
Но когда я переключаю базу данных и запрос на следующий
query = 'UPDATE stores SET key = (?) WHERE id = (?)'
connection.exec_query(query, "SQL", [[nil, 'x'], [nil, 1]])
Получение следующей ошибки
ActiveRecord :: StatementInvalid: Mysql2 :: Ошибка: в синтаксисе SQL имеется ошибка;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '?) WHERE id = (?)' в строке 1: «UPDATE сохраняет SET key = (?) WHERE id = (?) '
Версии Gem:
gem 'mysql2', '0.4.5'
gem 'pg', '0.18.2'
gem 'rails', '5.1.4'
Как я могу использовать оператор prepare, который будет работать как с MySQL, так и с PostgreSQL с ActiveRecord?