В рельсах 3, если я пишу: Model.from('models')
Arel генерирует следующий SQL:Рельсы 4 AR `от` отличные от рельсов 3?
select "models".* from models
В рельсах 4 то же Arel генерирует следующий SQL:
select "models".* from 'models', NULL
Имя таблицы обернуто в кавычках и ' , Добавлен NULL '. Как использовать isl, чтобы дать мне те же результаты, что и в rails 3?
Я использовал оригинальное поведение, чтобы выполнить довольно сложный запрос with recursive
против postgres. В rails4 postgres задыхается, когда попадает в одиночную цитату, предшествующую значению, которую я даю from
.
Есть ли лучший способ сделать запрос with recursive
? Или, есть ли способ запросить с isl, чтобы он работал по-прежнему?
Я не в состоянии дублировать эту ошибку вы видите. Используя приложение с таблицей поставщиков, я вижу ту же инструкцию SQL как для 3.2 и 4 с помощью «Vendor.from (« vendors »). To_sql', что приводит к« # => »SELECT \« vendors ». * FROM vendors" '. Не могли бы вы поделиться более сложным запросом? –
Хмм, я даже не использую сложный запрос на данный момент, просто простой запрос, как тот, который вы пробовали. Тем не менее, я получаю другой 'to_sql'. Может, разница версий? Rails 4.0.0, pg 0.15.1. Любые другие соответствующие драгоценные камни? –
@DanReedy aha! спасибо за проверку работоспособности. Это вызвано жемчужиной. Должна быть несовместимость, поскольку я получаю ожидаемое поведение, когда я удаляю его из своего проекта. Я соглашусь с ними. –