Ich versuche, Postgres-Datenbanken für Entwicklung und Tests zu erstellen.Postgres-Berechtigung verweigert, Datenbank auf Rake zu erstellen db: create: all
Ich verwende ...
- OSX Yosemite
- Rails-Version: 4.2.0
- git Version: 2.2.2
- psql Version: 9.4.0
- Rubin Version: 2.1.0p0
- HomeBrew Version: 0.9.5
Gemfile ...
gem 'pg'
database.yml
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: myapp_development
username: username
password:
test:
<<: *default
database: myapp_test
rake db:create:all
kehrt
PG::InsufficientPrivilege: ERROR: permission denied to create database
: CREATE DATABASE "myapp_development" ENCODING = 'unicode'
.... (lots of tracing)
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"myapp_development", "username"=>"username", "password"=>nil}
myapp_test already exists
Was ist falsch?
BEARBEITEN Ich habe gerade versucht, den Benutzernamen in der Datenbank.yml zu meinem Benutzernamen, den ich auf meinem Mac verwende. Es funktionierte. Es sagte mir auch, dass nicht nur maybe_test' already exists, but it also just told me that
myapp_development bereits existiert.
CREATEDB
zugewiesen hatte?Das alles scheint viel zu verwirrend und erinnert mich an PHP-Setup mit Apache zurück in den alten Tagen. Ich möchte mich nicht jedes Mal mit Problemen herumschlagen müssen, wenn ich eine neue App erstelle und versuche, den Heroku-Empfehlungen zu folgen, um Postgres auch während der Entwicklung zu verwenden.
'rake db: drop: all' dann' rake db: create: all' –
Folgen [diese Antwort] (http://dba.stackexchange.com/a/33292/46597) Ihre verwendet geben 'CREATEDB' Rolle. Und dein Problem wird gelöst werden. Und tun 'Rake db: drop' und' rake db: create'. –