Почему я не могу подключиться к базе данных? - PullRequest
0 голосов
/ 29 апреля 2019

Когда я запускаю heroku run rails db:migrate, я получаю сообщение об ошибке:

PG::ConnectionBad: could not connect to server: No such file or directory
  Is the server running locally and accepting
  connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
/app/vendor/bundle/ruby/2.6.0/gems/pg-1.1.4/lib/pg.rb:56:in `initialize'
/app/vendor/bundle/ruby/2.6.0/gems/pg-1.1.4/lib/pg.rb:56:in `new'
/app/vendor/bundle/ruby/2.6.0/gems/pg-1.1.4/lib/pg.rb:56:in `connect'
/app/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:692:in `connect'

Я установил камень pg. Мой конфиг:

# database.yml
production:
  adapter: postgresql
  encoding: unicode
  # For details on connection pooling, see Rails configuration guide
  # http://guides.rubyonrails.org/configuring.html#database-pooling
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000
  database: bigbig-fishfish_production
  username: bigbig-fishfish
  password: <%= ENV['MYAPP_DATABASE_PASSWORD'] %>

Есть что-то, что я делаю, что явно не так? Почему я получаю сообщение об ошибке?

1 Ответ

0 голосов
/ 29 апреля 2019

Вы не предоставляете host, поэтому Rails пытается подключиться к Postgres, работающему локально.Ваш сервер базы данных не будет на localhost на Heroku.Кроме того, имя вашей базы данных и имя пользователя выглядят неправильно.Вы не можете сами выбрать эти значения.

Предполагая, что вы используете собственный сервис Heroku Postgres , вы должны использовать DATABASE_URL переменную окружения для подключенияв Postgres.Поскольку вы используете Rails 5, вам, вероятно, следует полностью пропустить значения database, username и password .Убедитесь, что у вас есть DATABASE_URL (у вас должен быть один из коробки, если вы используете Heroku Postgres), и Rails должен использовать его автоматически.

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