PostgreSQL и Heroku, найти и сгруппировать - PullRequest
1 голос
/ 20 июня 2011

Я пытаюсь заставить приложение работать на Heroku должным образом. (Heroku использует базу данных postgreSQL, да?)

В разработке я использую sqlite, и это мой код в контроллере =>

@productsort = Products.find(:all,
                             :select => 'count(*) count, color',
                             :group => 'color', 
                             :order => 'count DESC', 
                             :conditions => 'size = "Small"')

Как видите, я пытаюсь сгруппировать товары по цветам и упорядочить их по величине до минимума.

Также товары должны быть «Маленькими». (условия)

В SQL работает нормально.

Но не в PostgreSQL (героку).

Это от запуска "Герои лог"

2011-06-20T18:20:33+00:00 app[web.1]: ActiveRecord::StatementInvalid (PGError: ERROR:  column "Small" does not exist

2011-06-20T18:20:33+00:00 app[web.1]: LINE 1: ...ducts".* FROM "products" WHERE (size = "Smal...

Хм ... Я искал вокруг и не мог найти ничего похожего на то, что у меня есть.

Вся помощь будет оценена. Спасибо

1 Ответ

3 голосов
/ 20 июня 2011

Вы должны использовать одинарные кавычки вокруг ваших строк в условиях (двойные кавычки могут работать с sqlite, но они определенно не с PostgreSQL).

Поэтому замените ваши условия на это:

:conditions => "size = 'Small'"

Он также будет работать и в SQLite.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...