Quand je lance: Rake db: setup
je reçois:
fe_sendauth: no password supplied
Couldn't create database for {"adapter"=>"postfresql", "encoding"=>"unicode",
"Host"=>"localhost", "pool"=>5, "username"=>"my_user", "password"=>nil,
"database"=>"my_db_test"}
-- enable_extension("plpgqsl")
rake aborted
Tasks: TOP => db:schema:load
Mon database.yml:
connection: &connection
adapter: postgresql
encoding: unicode
Host: localhost
pool: 5
username: my_user
password:
development:
<<: *connection
database: my_db_development
test: &test
<<: *connection
database: my_db_test
Déjà changer mon pg_hba.conf comme dans cette question: Essayer de configurer postgres pour ror app, obtenir une erreur - fe_sendauth: pas de mot de passe fourni Mais cela ne aide pas du tout.
C'est un problème de connectivité de base de données.
Essayez de vous connecter directement à la base de données que vous utilisez. S'il demande un mot de passe, vous devez utiliser le même mot de passe dans le fichier database.yml.
Vérifiez ce lien http://guides.rubyonrails.org/configuring.html#configuring-a-postgresql-database Et Ruby on Rails: Comment puis-je modifier database.yml pour postgresql?
En espérant que ces liens vous aident
essayez de spécifier pour quel environnement Rails vous souhaitez le faire, par exemple:
Rails_ENV=test rake db:setup
Mon ami, j'avais le même problème. Ma solution a été ajoutée les informations d'identification pour chaque environnement et activer l'hôte dans la valeur localhost ..
comme ça:
development:
<<: *default
database: SM_development
username: user
password: xxxx
Host: localhost
test:
<<: *default
database: SM_test
username: user
password: xxxxxx
production:
<<: *default
database: SM_production
username: user
password: xxxxxx
no password supplied
signifie que vous n'avez pas fourni de mot de passe au serveur posgresql
à partir de votre database.yml.
Essayez de vous connecter au serveur posgresql sous la forme pgadmin ou terminal. Ajoutez le même mot de passe (que vous avez utilisé pour vous connecter via terminal/pgadmin) à votre database.yml.
Maintenant essaye:
Rails_ENV=TEST bundle exec rake db:setup
si vous ne souhaitez pas spécifier d'authentification, essayez de supprimer username:
password:
du fichier .yml.
no password supplied
signifie qu'un mot de passe est requis mais que vous n'avez spécifié aucun mot de passe. Ajoutez le mot de passe correct à votre fichier database.yml.
Essayez de fournir un mot de passe "vide" en utilisant des guillemets:
password: ""