Ruby on Rails / Postgres - Как я могу создать новую базу данных для пользователя, который не существует? - PullRequest
0 голосов
/ 11 октября 2018

Я клонировал репозиторий и настроил все через виртуальную машину, загруженную с Ubuntu и использующую RVM.Все, что касается Ruby on Rails, было установлено через RVM.

Моя проблема в том, что мой логин в Ubuntu отличается от пользователя, которого, как я предполагаю, хочет база данных.Например, мой логин в Ubuntu - Matt, но когда я запускаю rails server и загружаю в localhost: 3000, он говорит следующее:

ActiveRecord::NoDatabaseError
FATAL: role "James" does not exist 

Я понимаю, что это ошибка postgres, но что мне теперь делатьсделать эту работу?Я искал предыдущие ответы StackOverflow, и методы просто не работают.

Например.Я изменил

local   all             postgres                                peer

на

local   all             postgres                                trust

Или с помощью psql -h localhost -U postgres или sudo -u postgres createuser -s $(whoami); createdb $(whoami) и снова, это не работает.Первая команда запрашивает пароль, который я не могу понять.

1 Ответ

0 голосов
/ 11 октября 2018

Вы можете изменить пользователя, который Rails использует для подключения к PostgreSQL, отредактировав <project_root>/config/database.yml ( source ).

Кроме того, причина, по которой ваша первая команда psql не сработала, заключается в том, что-h localhost требует ввода host в pg_hba.conf, а не local.Вы можете опустить -h localhost, чтобы запись local вступила в силу, поскольку по умолчанию используется подключение через локальный сокет.

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