2013-06-26 3 views
0

Я новый для рубинов на рельсах окружающей среды. Я перенес мою базу данных в герою вместе с данными, используя seeds.rb. на сервере heroku работает TableName.all заполняет все данные, присутствующие в postgres герою. когда я пытаюсь запустить команду какheroku консоль отличие не работает

TableName.select("Distinct(Category)") 

я получаю ошибку

Column TableName.Category does not exist. 

я попытался Changin столбцы, но не работал. пожалуйста, дайте мне знать, что здесь происходит.

Заранее спасибо

EDIT

На моем Dev сервере это работает отлично. на сайте dev отсутствуют проблемы. Я использую SQLite на Dev сайте

EDIT **

Вот Sequel текст из:

#rails console 
    >>Recall.all 
    SELECT "recalls".* From "recalls" 
    =>[#<Recall id:1, Category: "******",......>] 
>>Recall.select("Distinct(Category)") 
SELECT DISTINCT(Category) From recalls 
=>[#<Recall Category: "Foods">,#<Recall Category: "Consumer Products">] 




    #heroku run console 
    >>Recall.all 
    SELECT "recalls".* From "recalls" 
    =><Recall id:1, Category: "******",......> 

>>Recall.select("Distinct(Category)") 
Recall Load <2.5ms> SELECT DISTINCT(Category) FROM "recalls" 
PGError: ERROR: column "category" does not exist 
LINE 1:SELECT DISTINCT(Category) FROM "recalls" 
        ^
:SELECT DISTINCT(Category) FROM "recalls" 
ActiveRecord::StatementInvalid: PGError: ERROR: column "category" does not exist 
LINE 1:SELECT DISTINCT(Category) FROM "recalls" 
:SELECT DISTINCT(Category) FROM "recalls" 
+0

Пожалуйста, покажите полный текст SQL, который получает бег. Вы можете получить его из журналов Rails. –

ответ

0

Я нашел ответ. это была проблема последовательности эвакуации. вот как я установил, что

Recall.select("DISTINCT(\"Category\")") 

со ссылкой на этот вопрос Rails and Heroku PGError: column does not exist

1

Кажется, вы не настроили таблицы базы данных правильно на Heroku. Вы делали что-то вроде run heroku run db:migrate?

Почему вы не расследуете? Вы пробовали heroku pg:psql? См. here.

Кроме того, вы действительно не должны использовать SQLite - это не та же база данных, и SQL не является стандартным для баз данных. В какой-то момент вы столкнетесь с действительно тонкой ошибкой базы данных.