2017-02-13 1 views
2

У меня есть существующее приложение Rails, которое ранее успешно выполнялось на моем локальном ноутбуке (работающем под управлением OSX) с базой данных, хранящейся локально в PostgreSQL. Я также успешно развернул приложение Rails к Elastic Beanstalk с базой данных в RDS - размещенный сайт все еще запущен.Rails среда разработки, пытающаяся подключиться к базе данных AWS, а не localhost PostgreSQL

Я не прикоснулся к версии LOCALHOST в течение нескольких месяцев и попытался запустить его сегодня с помощью rails server -e development, но при посещении http://localhost:3000/ как обычно, я получаю сообщение об ошибке PG

PG :: ConnectionBad в/FATAL : пароль аутентификации не удалось для пользователя "murjfphxxxxxx" FATAL: нет записи pg_hba.conf для хозяина "115.xxx", пользователя "murjfphxxxxxx", база данных "d37vsvehxxxxxx", SSL от

Та же ошибка возникает в консоль Rails. Похоже, что версия разработки пытается подключиться к базе данных AWS, а не к базе данных localhost, но я не могу понять, почему.

/config/database.yml перечисляет среды разработки, как:

development: adapter: postgresql encoding: unicode database: <my-app>_development host: localhost pool: 5 username: postgres password: <password>

Я могу подключиться к базе данных через локальный PG PSQL и увидеть содержимое, так что кажется, что база данных локального PG действует ,

Зачем нужна среда разработки для подключения к версии базы данных AWS? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, чтобы отладить это.

Использование рубиново-2.3.1, Rails 4.2.0, PostgreSQL 9.6.0.0

+0

Вы пытались запустить «rails s RAILS_ENV = development» только для того, чтобы убедиться, что он использует надлежащую среду? – Coolness

+0

@Coolness жаль, что я хотел упомянуть, что я уже пробовал это - я отредактировал вопрос. Это не имело никакого значения для результата –

+2

у вас есть 'DATABASE_URL' var в вашем env? (вы можете проверить, набрав в терминале 'env | grep DATABASE_URL') – Esse

ответ

2

Вы, вероятно, DATABASE_URL в вашем окр. Вы можете проверить, набрав env | grep DATABASE_URL в терминале.

Если это так, попробуйте отключить его с помощью unset DATABASE_URL.

Как сказано в documentation:

Если у вас есть и config/database.yml и ENV['DATABASE_URL'] установить затем Rails сольются конфигурацию вместе. Чтобы лучше понять это , мы должны увидеть некоторые примеры.

При предоставлении дублированной информации о соединении будет иметь место переменная окружения .