在rails上为postgresql创建用户

jsa*_*h16 0 ruby postgresql ruby-on-rails

我为我的数据库选择了postgresql for rails但我遇到了一个明显常见的错误,当我尝试运行rake db:create:all时,'FATAL:role'应用程序"不存在".我找到了两个解决方案,但我不确定哪个是正确的解决方案.一个网站说到

su -  
su - postgres
createuser -s Application
exit
exit  
Run Code Online (Sandbox Code Playgroud)

而另一个说

su - postgres
create role myapp with createdb login password 'password1'
Run Code Online (Sandbox Code Playgroud)

这两者有什么区别?我应该使用哪一个?

Зел*_*ный 9

您应该仅将此用于开发环境

登录postgres控制台:

$> sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)

使用名称rails和密码创建用户:

=# create user rails with password 'password';  
Run Code Online (Sandbox Code Playgroud)

使用户rails超级用户:

=# alter role rails superuser createrole createdb replication; 
Run Code Online (Sandbox Code Playgroud)

projectname用所有者创建数据库rails:

=# create database projectname owner rails;
Run Code Online (Sandbox Code Playgroud)

database.yml:

development:
  adapter: postgresql
  encoding: unicode
  database: projectname
  pool:
  username: rails
  password: password
Run Code Online (Sandbox Code Playgroud)

  • 请问生产环境怎么样? (2认同)