Heroku Postgres Ошибка: PGError: ОШИБКА: отношение "организации" не существует (ActiveRecord :: StatementInvalid) - PullRequest
43 голосов
/ 27 марта 2011

У меня проблема с развертыванием приложения Rails в Heroku, где при попытке доступа к приложению возникает эта ошибка:

PGError: ОШИБКА: отношение "организации" не существует (ActiveRecord:: StatementInvalid)

SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"organizations"'::regclass
  AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum

У кого-нибудь есть идеи?Это первое для меня, особенно потому, что я работал с Heroku в течение года над другими приложениями и ничего подобного не видел.Конечно, все работает на локальном SQLite.

Ответы [ 13 ]

80 голосов
/ 13 июля 2011

У меня была такая же проблема. Чтобы решить эту проблему, проще сбросить базу данных.

  • Heroku Rake DB: сброс ('Heroku Run Rake DB: сброс', если вы находитесь на кедре)
  • Heroku Rake DB: мигрировать («Heroku Run рейк DB: мигрировать, если вы находитесь на кедре)

Затем миграция была успешно выполнена для моего случая:)

Хотя это хорошее решение в этом контексте, не делайте этого на производстве. Он удалит все записи из вашей базы данных

19 голосов
/ 09 января 2012

Согласно моему опыту (Rails 3.1, стек Sedar) после запуска pg:reset и db:migrate вам может потребоваться запустить heroku restart.

19 голосов
/ 08 апреля 2011

У меня была такая же проблема, пока я не понял, что должен был:

heroku rake db:migrate

:)

7 голосов
/ 25 октября 2012

Моя версия герои:

heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) ruby/1.9.3

Чтобы исправить это, просто откройте свой терминал и запустите:

heroku pg:reset DATABASE --confirm YOUR_APP_NAME
heroku run rake db:setup
heroku restart
heroku open
1 голос
/ 12 июня 2012

Вы используете устройство?У меня возникла именно эта проблема при обновлении до версии 2.0. Необходимо вручную изменить файл миграции.

1 голос
/ 05 января 2012

В моем случае мне также пришлось уничтожить и воссоздать мое приложение. Я запустил rake db: migrate с файлом миграции, который не был зафиксирован, и по какой-либо причине pg: reset не работал.

0 голосов
/ 16 февраля 2016

Причин этой ошибки может быть много.Однако для моего приложения проблема заключалась в том, что я не вышел из приложения до запуска миграции (?).Итак, иду по этому пути: http://name_of_my_app.herokuapp.com/logout исправил проблему для меня.

0 голосов
/ 23 июня 2015

У меня была похожая проблема, и я запустил heroku run rake db:reset и heroku run rake db:migrate, чтобы решить эту проблему. Я думаю, что я просто не запустил правильные миграции, чтобы решить проблему.

0 голосов
/ 24 июня 2014

После нескольких часов просеивания ответа я понял, что при указании

rails new MYAPP -database POSTGRESQL

он изменяет файл .gitignore, игнорируя весь /db/ directory, поэтому моя база данных никогда не подталкивалась к heroku. Удалите его с осторожностью, или, по крайней мере, у вас нет имени пользователя и пароля там, где вы нажимаете.

0 голосов
/ 30 октября 2013
rake db:drop
rake db:create
rake db:migrate
...