[napa] rake db:create ignoruje zawartość database.yml

Framework Napa

rake db:create

powoduje:

PG::ConnectionBad: fe_sendauth: no password supplied

database.yml wygląda tak:

defaults: &defaults
  encoding: unicode
  adapter: postgresql
  host: localhost
  username: pushnote
  password: secret123

production:
  <<: *defaults
  database: pushnote_production

development:
  <<: *defaults
  database: pushnote_development

test:
  <<: *defaults
  database: pushnote_test

gem pg (0.18.1)

Po zmianie w /etc/postgresql/9.3/main/pg_hba.conf ‘md5’ na ‘trust’ mogę utowrzyć bazę ale właścicielem staje się bieżący użytkownik systemowy.
Plik databse.yml wydaje się być czytany, gdyz jego usunięcie powoduje odpowiedni błąd przy ‘rake db:create’.
Z tego wszystkiego wnioskuję, że z jakiegoś powodu ‘username’ z pliku databse.yml jest ignorowany. Ktoś wie dlaczego?

Ja mam tak zrobione:
database.yml:

default: &default
  adapter: postgresql
  encoding: UTF8
  host: <%= Rails.application.secrets[:db_host] %>
  database: <%= Rails.application.secrets[:db_name] %>
  user: <%= Rails.application.secrets[:db_user] %>
  password: <%= Rails.application.secrets[:db_password] %>

development: *default
test: *default
production: *default

i oczywiście w pliku secret.yml odpowiednio:

development:
  db_host: localhost
  db_name: db_development
  db_user: xxxx
  db_password: 'xxxxx'


test:
  db_host: localhost
  db_name: db_test
  db_user: xxxx
  db_password: 'xxxxx'

production:
  db_host: localhost
  db_name: db_production
  db_user: xxxx
  db_password: 'xxxxx'

Zwróć uwagę, że, że w pliku database.yml jest
user: <%= Rails.application.secrets[:db_user] %>

a nie “username”

Próbowałem już kombinować z “user” zamiast “username” ale nie poprawia to sytuacji.

a jesli zmienisz localhost na 127.0.0.1 ?

Nie pomaga. Próbowałem też ‘hostname’ zamiast ‘host’ jakby kto pytał:)

Ja u siebie na localhoscie nie podaję w configu hostname. A dla username: abc mam wpis w /etc/postgresql/9.1/main/pg_hba.conf : local all abc password

edit: sorry, nie zauważyłem, że to nie rails