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

У меня странная проблема.

Я установил свой файл database.yml для использования sqlite3 для всех трех баз данных (производство, тестирование, разработка).

  1. Я создаю новый проект rails со всеми значениями по умолчанию.

  2. Я запускаю железнодорожный сервер с помощью WEBrick

  3. Я получаю сообщение об ошибке «ActiveRecord::ConnectionNotEstablished».

  4. Я пытаюсь $ rake db: создать

  5. Я получаю следующую ошибку: указан «postgresql» для адаптера базы данных, но гем не загружен. Добавьте gem 'pg' в свой Gemfile.

  6. Я устанавливаю сервер pg и postgres и получаю

fe_sendauth: пароль не указан Ошибка на веб-странице

  1. Я снова пробую $rake db:create на консоли и получаю

  2. fe_sendauth: пароль не указан (я знаю, что это ошибка пароля postgres)

  3. Кажется, что Rails выбирает другой адаптер базы данных, чем в моем файле database.yml.

Я не знаю, где это может быть. Кажется, он даже ищет конкретную базу данных, которую я использовал в каком-то предыдущем проекте. Следовательно, Rails должен искать какой-то другой конфигурационный файл.

Может кто-нибудь помочь.


person Vidyuth    schedule 28.11.2013    source источник
comment
Что происходит, когда вы выполняете rails dbconsole из этого конкретного каталога проекта?   -  person AndreasHassing    schedule 28.11.2013
comment
Вы используете Heroku? Кстати, в development у тебя тоже такие ошибки?   -  person marzapower    schedule 28.11.2013


Ответы (1)


Добавьте гем sqlite3 в свой Gemfile:

gem 'sqlite3'

и установите sqlite3 в качестве адаптера в database.yml:

development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000
person Rodrigo    schedule 28.11.2013
comment
Это то, что я сделал. Есть ли какой-либо другой конфигурационный файл, в котором могут искать рельсы.... - person Vidyuth; 28.11.2013
comment
Ошибка, описанная на шаге 5, указывает на то, что указан адаптер postgresql. Убедитесь, что вы установили sqlite3 в качестве адаптера, и повторите попытку. Единственный файл, который настраивает доступ к базе данных в проекте Rails, — это config/database.yml. - person Rodrigo; 28.11.2013