Получение ошибки в /log/production.log
при выполнении запроса попасть на корень сайта:ActiveRecord пытается подключиться к неправильной базе данных с помощью rbenv
I, [2016-03-21T02:21:38.485274 #12750] INFO -- :
Started GET "/" for 174.xx.xxx.xxx at 2016-03-21 02:21:38 -0600
F, [2016-03-21T02:21:38.493250 #12750] FATAL -- :
ActiveRecord::NoDatabaseError (FATAL: database "y" does not exist)
Это говорит database "y" does not exist
. Во-первых, y
не является базой данных, поэтому я знаю, что ее не существует.
Во-вторых, database.yml
указывает ydb
как базу данных, к которой приложение должно подключиться - не y
.
конфигурации/database.yml:
production:
adapter: postgresql
encoding: utf8
host: <%= ENV['Y_PG_HOST'] %>
database: <%= ENV['Y_PG_DB'] %>
username: <%= ENV['Y_PG_USER'] %>
password: <%= ENV['Y_PG_PASS'] %>
Используя rbenv объявить окр вары:
.rbenv-вары
Y_PG_HOST=localhost
Y_PG_DB=ydb
Y_PG_USER=y
Y_PG_PASS=*********
Update
благодарственное s to @Meshpi, похоже, что проблема возникает rbenv
. Когда env vars размещаются непосредственно в database.yml
, сервер загружает сайт, как ожидалось.
Что вызывает недоумение то, что от echo $Y_PG_DB
, оболочка возвращает ydb
, а не y
.
Как вы используете сервер? Он работает, если сначала экспортировать vars с помощью 'export $ (cat .rbenv-vars | xargs)'? – toomanyredirects
k, попробовал это и не изменил сообщение об ошибке. Кроме того, я использую Passenger + Nginx. Кроме того, я ничего не делал с файлами 'postgresql.conf' или' pg_hba.conf' - я оставил их нетронутыми, как установлено. – singularity
Вы пытались исключить rbenv как виновника, установив значения непосредственно в вашей базе данных.yml вместо переменных окружения? – meshpi