当我跑步时: rake db:setup
我得到:
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
我的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
在这个问题中已经改变了我的pg_hba.conf:Trying to set up postgres for ror app, getting error - fe_sendauth: no password supplied 但它根本没有用。
答案 0 :(得分:3)
这是数据库连接问题。
尝试直接连接您使用的数据库。如果是在询问密码,那么您应该在database.yml文件中使用相同的密码。
检查此链接 http://guides.rubyonrails.org/configuring.html#configuring-a-postgresql-database 和 Ruby on Rails: How can i edit database.yml for postgresql?
希望此链接可以帮助您
答案 1 :(得分:2)
尝试指定您要执行此操作的rails环境,例如:
RAILS_ENV=test rake db:setup
答案 2 :(得分:2)
我的朋友,我遇到了同样的问题。我的解决方案添加了每个环境的凭据,并在值localhost ..
中启用主机 像这样: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
答案 3 :(得分:1)
no password supplied
表示您尚未从database.yml向posgresql
服务器提供密码。
尝试连接到posgresql服务器表单pgadmin或terminal。添加相同的密码(您用于通过终端/ pgadmin登录)到您的database.yml。
现在尝试:
RAILS_ENV=TEST bundle exec rake db:setup
答案 4 :(得分:0)
尝试使用引号提供“空”密码:
password: ""
答案 5 :(得分:0)
no password supplied
表示需要密码,但您没有指定密码。将正确的密码添加到database.yml文件中。
答案 6 :(得分:0)
如果您不想指定身份验证,请尝试从.yml文件中删除username:
password:
。