Почему я получаю ошибку PG на heroku, когда она нормально работает в моей локальной среде rails? - PullRequest
2 голосов
/ 22 сентября 2010

Я получаю следующую ошибку:

ReportsController#return_search (ActiveRecord::StatementInvalid) "PGError: ERROR: syntax error at or near \"FROM\"\nLINE 5: ...OUNT(contact_postalcards.id) AS postalcard_count, FROM \"cont...\n 

Локально работает, но когда я нажимаю на героку, я получаю ошибку:

Что мне нужно изменить, чтобы оно работало также на Postgres на Heroku?

@list = Contact.find :all,
  :select => "companies.name AS co_name, 
             companies.id AS comp_id, 
              COUNT(contact_emails.id) AS email_count, 
              COUNT(contact_calls.id) AS call_count, 
              COUNT(contact_letters.id) AS letter_count, 
              COUNT(contact_postalcards.id) AS postalcard_count",

  :conditions => ['contact_emails.date_sent < ? and contact_emails.date_sent > ?', 
                  report_end_date, report_start_date],

  :joins => [
    "LEFT JOIN companies ON companies.id = contacts.company_id",
    "LEFT JOIN contact_emails ON contact_emails.contact_id = contacts.id",
    "LEFT JOIN contact_letters ON contact_letters.contact_id = contacts.id",
    "LEFT JOIN contact_postalcards ON contact_postalcards.contact_id = contacts.id",
    "LEFT JOIN contact_calls ON contact_calls.contact_id = contacts.id"
  ],
  #:group => "companies.id"
   :group => "companies.name"
puts @list[0].attributes.inspect

Ответы [ 2 ]

1 голос
/ 17 марта 2011

Похоже, это был специфический PG, поэтому я полностью изменил структуру базы данных.

1 голос
/ 22 сентября 2010

Из сообщения об ошибке:

AS postalcard_count, ОТ

Оставьте эту запятую, в вашем запросе, это ваша ошибка.

...