1

У меня уже есть приложение Rails, успешно работающее с Postgres.app.Настройка второго Rails-приложения локально с PG

Я даже не помню, что я сделал, чтобы получить первую базу данных, созданную и подключен к Rails, но это работает, и это то, что я имею в database.yml

development: 
    adapter: postgresql 
    database: gnossy_development 
    pool: 5 
    timeout: 5000 

Теперь для моего второго Rails приложение, которое я создал приложение с

rails new my_app --database=postgresql --skip-test-unit

И Rails создал это для меня в database.yml

default: &default 
    adapter: postgresql 
    encoding: unicode 
    pool: 5 

development: 
    <<: *default 
    database: my_app_development 

Что мне нужно сделать, чтобы получить второе приложение, связанное с PG db?

rake db:create:all приводит "FATAL: role "my_app" does not exist"

ответ

0

Погрешность, котор вы получаете ошибка Postgres.

"FATAL: role "my_app" does not exist" 

При выполнении миграций приложение пытается войти в базу данных для выполнения миграций.

Эта ошибка говорит о том, что в базе данных не имеют роли под названием «my_app»

Если вы хотели бы проверить, правда ли это журнал в вашу базу данных Postgres:

С консоли :

psql 

После того, как вы, проверьте свои роли:

\du 

Эта команда вернет отношение ваших ролей с их разрешениями.

Чтобы исправить это в вашем приложении рельсы попробуйте добавить пользователя и пароль учетных данных с разрешениями PG для database.yml

username: your_user 
password: your_pasword 
+0

Как вы можете видеть из моего при условии 'database.yml' для моего первого приложения, нет имя пользователя/пароль, кажется, используется там. Должен ли я все еще понадобиться для второго приложения? – Numbers

+0

В настоящий момент приложение Rails пытается подключиться к базе данных с пользователем ** my_app **. Я предполагаю, что у вас нет пользователя my_app или, скорее всего, 'my_user' не имеет разрешений для вашей новой базы данных, но имеет для' gnossy_development' –

Смежные вопросы