如何为新的Rails项目创建新的postgres用户?

时间:2015-06-15 05:15:12

标签: ruby-on-rails postgresql

我创建了一个新的rails项目rails new devise_gem_app -d postgresql并将config/database.yml更改为:

default: &default
  adapter: postgresql
  encoding: unicode
  username: devise_gem_app
  password: devise_gem_app
  host: localhost

development:
  <<: *default
  database: devise_gem_app_development

test:
  <<: *default
  database: devise_gem_app_test

但我不知道如何将用户连接到此数据库

我创建了一个这样的用户:createuser devise_gem_app -W将其设置为超级用户,并将密码设置为:devise_gem_app。

但是当我尝试rake db:migrate时,我得到了:

PG::ConnectionBad: FATAL:  password authentication failed for user "devise_gem_app"
FATAL:  password authentication failed for user "devise_gem_app"

我甚至将pg_hbf.conf的最后一行变为:

#local   replication     postgres   trust

......什么都没有......

我知道这应该很容易,但我只是看不出我做错了什么。

3 个答案:

答案 0 :(得分:0)

我不确定createuser命令在做什么,但你总是可以直接在postgres中设置devise_gem_app用户的密码。

ALTER user devise_gem_app WITH password 'devise_gem_app';

答案 1 :(得分:0)

create user user_name with password 'password' createdb;

pg_hbf.conf档案中

#Database administrative login by Unix domain socket
local   all             postgres                                peer

答案 2 :(得分:0)

最后,我按照本教程结束了:http://www.cyberciti.biz/faq/howto-add-postgresql-user-account/

但我很不高兴看来rails似乎不支持,为新项目db创建新用户,这似乎是常见的做法。