我尝试在此页面之后将我的rails应用程序部署到DigitalOcean。
一切正常但我无法通过此命令创建数据库
RAILS_ENV=production rake db:create
即使我在我的app文件夹中运行此命令
chown -R rails: /home/rails/myapp_name
这是我从命令行获得的
FATAL: Peer authentication failed for user "rails"
.
.
.
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"xxx", "username"=>"rails", "password"=>nil}
那么如何解决这个问题?
谢谢!
答案 0 :(得分:1)
错误表明您没有提供rails
Postgres用户的密码。 DigitalOcean Ruby on Rails“One-Click”显示用户在登录服务器时显示的MOTD(当天的消息)中自动生成的密码。
密码也会导出到APP_DATABASE_PASSWORD
/etc/default/unicorn
环境变量中database.yml
文件中,您可以使用<%= ENV['APP_DATABASE_PASSWORD'] %>
在运行rake命令之前,请获取文件以便您可以访问环境变量:
. /etc/default/unicorn
RAILS_ENV=production rake db:create