В текущем приложении мы используем базу данных sqlite, и теперь нам нужно перейти с sqlite на Postgresql. Я мигрировал с помощью сиквела, как показано ниже
sequel -C sqlite: //db/development.sqlite3 postgres: //имя пользователя: пароль @ localhost / имя_базы
После миграции я сталкиваюсь с синтаксической ошибкой, как показано ниже
SELECT COUNT(*) FROM "devices" WHERE (User_id IS 6 AND mac_address IS "88:83:123:31:68")
ActiveRecord :: StatementInvalid (PG :: SyntaxError: ОШИБКА: ошибка синтаксиса на уровне или близко к нему "6"LINE 1: ... ECT COUNT (*) FROM" устройства "WHERE (User_id IS 6 И mac ..)
Мой контроллер, который я использовал ниже, запросит приведенный выше синтаксис
@device_by_user = Device.where("User_id IS #{id} AND mac_address IS \"#{mac}\"")
Требуется следующий синтаксис запроса для PostgreSQL, где имена полей, начинающиеся с верхнего регистра, заключены в кавычки, а текстовые значения должны быть заключены в одинарные кавычки.
SELECT COUNT(*) FROM "devices" WHERE "User_id"=6 AND mac_address= '88:83:123:31:68';
Нужно ли менять синтаксис везде, где это применимо?или в рельсах есть другой подход?
Спасибо, Алекс