грабли прерваны! ОШИБКА: должен быть владельцем базы данных - PullRequest
10 голосов
/ 27 августа 2011

Я работаю над превосходным учебником Майкла Хартла , но при попытке подготовить тестовую базу данных с помощью команды: bundle exec rake db: test: prepare я получаю это сообщение об ошибке:

ОШИБКА: должен быть владельцем базы данных sample_app_test ...

, которую я никогда не получал при использовании базы данных разработки, потому что я создал следующую роль базы данных для своего приложения Rails:

CREATE ROLE demo_app WITH CREATEDBВХОД

(используется Postgresql)

Кто-нибудь понимает, почему это не работает в тестовой среде?ТИА ...

Ответы [ 2 ]

15 голосов
/ 05 ноября 2012

Вы подтвердили право собственности на тестовую БД?попробуйте выполнить команду \l на консольном клиенте Postgres и проверьте владельца.Вы также можете попробовать следующий запрос:

ALTER DATABASE sample_app_test OWNER TO demo_app;

1 голос
/ 13 января 2015

Первый пост, записывающий это для потомков.У меня была такая же проблема, но я смог ее исправить.Вам просто нужно убедиться, что вы вошли в систему как суперпользователь, когда создаете свои базы данных (или ту, которая выдает ошибку).

Я заходил в psql с таким кодом:

sudo sudo -u postgres psql 

И создал свои базы данных. Это плохо .Вы хотите войти в систему с этими учетными данными суперпользователя:

sudo su - postgres

А затем, после входа в postgres:

psql 

Затем создайте свои базы данных.Вы можете убить ваши старые базы данных с помощью команды

DROP DATABASE "database_to_drop";

Создайте их заново, и вам будет хорошо!

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