Синтаксическая проблема PGError для named_scope - PullRequest
0 голосов
/ 18 марта 2010

У меня есть следующий named_scope, который отлично работает в MySQL и sqlite, но бомбы в Postgres:

course.rb

named_scope :current, :conditions => ['start < ? AND end > ? ', Time.now, Time.now], :order => 'start ASC'

Тогда я просто звоню:

Course.current

Я получаю ошибку:

PGError: ERROR: синтаксическая ошибка в или возле "конца" ЛИНИЯ 1: ... ГДЕ (начало < '2010-03-17 14: 03: 24.995746' И конец> «201 ... ^: SELECT count (*) AS count_all FROM "курсы" ГДЕ (начало < '2010-03-17 14: 03: 24.995746' И конец> '2010-03-17 14: 03: 24.995748')

Мой гугл-фу подводит меня, поэтому я надеюсь, что переполнение стека не удастся. Любые идеи о том, как сделать эту область Postgres-дружественным? Спасибо,

Drew

1 Ответ

1 голос
/ 18 марта 2010

END - это ключевое слово, вы должны использовать другое имя или поместить его в двойные кавычки "конец".

Если вы используете двойные кавычки вокруг имени столбца и используете этот код также для MySQL, скажите MySQL принять двойные кавычки в качестве идентификатора объекта, установив правильный режим SQL: ANSI_QUOTES

...