Rails - Heroku не загружает конфигурации базы данных, как определено в database.yml - PullRequest
0 голосов
/ 02 июня 2018

У меня есть приложение Rails, развернутое на Heroku, оно работало нормально, пока у нас не было одинаковых баз данных для разработки и производства.По какой-то причине нам пришлось сохранить обе базы данных одинаковыми, поэтому я изменил database.yml следующим образом:

production:
  adapter: postgresql
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000
  host: same_as_in_development
  port: 5432
  username: same_as_in_development
  database: same_as_in_development
  password: same_as_in_development

Обратите внимание, что мы не используем localhost, это URL-адрес Postgres от AWS.

Но Heroku все еще загружает старые конфигурации баз данных для производства.Развернули приложение вручную, но не повезло.Создано новое приложение, там же развернут код, но все же это не сохранение / загрузка данных из базы данных, как при разработке.Похоже, он использует базу данных, определенную в конфигурационных переменных как DATABASE_URL.

1 Ответ

0 голосов
/ 02 июня 2018

Heroku использует переменную среды DATABASE_URL для настройки соединения с базой данных.

Соглашение об именовании переменных DATABASE_URL выглядит следующим образом:

postgres://<username>:<password>@<host>/<dbname>

Подробнее о настройке внешнегосоединения с базой данных из следующей документации Heroku.

https://devcenter.heroku.com/articles/heroku-postgresql#external-connections-ingress

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

Rails документация также содержит некоторую информацию относительно подключения к базе данных с использованием DATABASE_URL

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