fe_sendauth:在Cloud9 IDE上设置PostgreSQL数据库后没有提供密码错误

时间:2016-02-11 02:14:41

标签: ruby-on-rails postgresql cloud9-ide

所以我根据最高投票评论的说明在我的cloud9 IDE帐户上设置了PostgreSQL数据库:Cloud9 postgres

这就是我的database.yml文件:

default: &default
adapter: postgresql
encoding: unicode
pool: 5
username: <%= ENV['USERNAME'] %>
password: <%= ENV['PASSWORD'] %>
host:     <%= ENV['IP'] %>



development:
  <<: *default
  database: sample_app_development

test:
  <<: *default
  database: sample_app_test

production:
  <<: *default
  database: sample_app_production

然后我创建了一个用户模型,迁移了它,并重新加载了我的应用程序。但是当我使用此命令在本地服务器上加载应用程序:在cloud9命令行上rails server -b $IP -p $PORT时,我收到以下错误消息:fe_sendauth:没有提供密码错误。我不明白出了什么问题,因为我创建了一个带密码的超级用户,并将其包含在我的database.yml文件中。我发现的唯一事情是可以通过更改pg_hba.conf文件以信任本地服务器来修复此错误。但是我认为在Cloud9 IDE中创建超级用户和密码的重点在于您不必这样做。此外,Cloud9不允许您访问pg_hba.conf文件。

1 个答案:

答案 0 :(得分:0)

您无需更改pg_hba.conf文件。 只需在终端输入以下命令:

$ source ~/.profile
$ rake db:create
$ rake db:migrate

然后正常重启服务器。 我知道你已经在你提到的指令的开头运行了源〜/ .profile命令(我之前已经使用了答案并且遇到了同样的问题)但是出于一些神秘的原因Cloud9环境(我从来没有做过任何这在我的Mac上)需要在执行这些说明中指定的设置后再次手动获取'.profile'文件(Cloud 9有时会决定很奇怪 - 就像所有机器......呃!)。第二个命令在您的开发环境中使用pg gem和database.yml文件中的所有配置创建新的pg数据库。

最后的'migrate'命令可能没有必要,但出于神秘的原因,我在运行'rake db:migrate'后也修复了数据库问题(如果我是正确的,它只是更新你的数据库才能使用您的模型或您可能已添加到开发环境中的任何新虚拟数据。)

希望这有帮助。