无法在DigitalOcean Droplet上创建生产数据库

时间:2016-02-25 12:17:14

标签: ruby-on-rails ruby nginx digital-ocean

我尝试在此页面之后将我的rails应用程序部署到DigitalOcean。

https://www.digitalocean.com/community/tutorials/how-to-use-the-ruby-on-rails-one-click-application-on-digitalocean#configuration-details

一切正常但我无法通过此命令创建数据库

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}

那么如何解决这个问题?

谢谢!

1 个答案:

答案 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