Heroku Schema load: отказано в разрешении для пользователя базы данных "postgres

Я пытаюсь развернуть приложение Rails в Heroku, и теперь я хочу загрузить свою схему. Я получаю следующую ошибку:

Running `bundle exec rake db:schema:load` attached to terminal... up, run.1533
rake aborted!
PG::ConnectionBad: FATAL:  permission denied for database "postgres"
DETAIL:  User does not have CONNECT privilege.

что странно, потому что postgres не является базой данных, к которой он должен подключиться. URL базы данных, который доступен для приложения через ENV, имеет правильные значения и длинное, по-видимому, случайное имя d3kwlkwlwjwljetc....

поиск этого сообщения дает мне людей, которые пытаются сбросить или сбросить БД, что не то, что я делающий.

  • у меня 0 строк
  • пробовал pg:reset, даже удалил и вернул базу данных. Безрезультатно.
  • я не делаю db:drop, просто db:schema:load

Я остолбенел. Почему мое приложение подключить?

Edit: по-видимому, я не могу schema:load, но я могу перенести все мои миграции за. Почему так?

1 ответов


похоже, что это проблема в самих Rails - есть обсуждение по этому поводу в https://github.com/rails/rails/issues/17945 - кажется, что есть фиксация (https://github.com/rails/rails/blob/master/activerecord/lib/active_record/tasks/postgresql_database_tasks.rb#L77) это подключение к базе данных posgres, которая не разрешена на Heroku, поэтому терпит неудачу.

короче говоря, на данный момент используйте db: migrate пока проблема решенный.