Не могу запустить "rake db: create" - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь настроить базу данных postgres для моего проекта rails, но каждый раз, когда я запускаю команду:

rake db:create

Я получаю сообщение об ошибке

    FATAL:  role "myrole" does not existCouldn't create database for{"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, 
"database"=>"web_db", "username"=>"myrole", "password"=>"password", "host"=>"localhost"}                                                            rake aborted!  

Когда я вхожу в свою базу данных web_dbс пользователем myrole и введите \ du он показывает мне все роли, включая myrole!У этой роли есть также Superuser, атрибуты create Role и createDB.

Понятия не имею, что не так ..

Отредактируйте мой database.yml

development:                                                                                                           
  adapter: postgresql                                                                                                  
  encoding: unicode                                                                                                    
  database: myapp_development                                                                                          
  pool: 5                                                                                                              
  username: myrole                                                                                                    
  password: password                                                                                                  
  host: localhost                                                                                                                                                                                                                         
test:                                                                                                                  
  adapter: postgresql                                                                                                  
  encoding: unicode                                                                                                    
  database: myapp_test                                                                                                 
  pool: 5                                                                                                              
  username: myrole                                                                                                    
  password: password                                                                                                  
  host: localhost 

1 Ответ

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

Что я сделал не так:

Я использовал su postgres, чтобы открыть psql и создать роли.

Мне нужно было войти в систему от моего пользователя с помощью команды:

psql -h localhost -d web_db -U postgres or sudo -u postgres psql

Затем я должен был создать роль и назначить права:

CREATE ROLE myrole;

ALTER ROLE myrole WITH login;

ALTER ROLE myrole WITH CREATEDB;

ALTER ROLE myrole WITH PASSWORD 'password';

, затем я мог выполнить команду: rake db:setup

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