gpt4 book ai didi

ruby-on-rails - postgresql数据库迁移错误:PG::ConnectionBad: fe_sendauth: no password supplied

转载 作者:行者123 更新时间:2023-11-29 13:26:43 32 4
gpt4 key购买 nike

我正在尝试运行 rake db:migrate在我的 Rails 应用程序中,出现以下错误:

PG::ConnectionBad: fe_sendauth: no password supplied

我的 database.yml如下:

<%
branch = `git symbolic-ref HEAD 2>/dev/null`.chomp.sub('refs/heads/', '')
branch = 'master' if branch.empty?
suffix = branch == 'master' || branch.starts_with?('hotfix') ? '' : "_" + `git config --local --get offgrid.databases.#{branch.gsub(/[^a-zA-Z0-9]/,'')}`.strip
suffix = ENV['DB_SUFFIX'] if ENV['DB_SUFFIX']
puts "Database is 'offgrid_dev#{suffix}'" if Rails.env.development?
%>

development:
adapter: postgresql
database: offgrid_dev<%= suffix %>
host: localhost
encoding: unicode
pool: 5
password: 1

test:
adapter: postgresql
database: offgrid_test<%= suffix %><%= ENV['TEST_ENV_NUMBER'] %>
host: localhost
encoding: unicode
pool: 5
password: 1

这里更令人困惑的是,当我尝试按如下方式迁移我的测试数据库时:

rake db:migrate RAILS_ENV=test

我的测试数据库成功迁移,没有给出密码错误。

这非常令人困惑,因为我对测试和开发环境的配置或多或少是相同的。

我的第一个问题是为什么会这样?

但更重要的是,我该如何克服这个问题?

我试图通过使用 psql 将密码更改为空控制台将密码设置为:\password <username> ,然后在没有输入新密码的情况下返回并确认,然后运行迁移,但没有成功。我还尝试运行迁移,同时将环境指定为:rake db:migrate RAILS_ENV=development也没有成功

我到底在做什么,我该如何解决?

非常感谢所有帮助。

PS:我的操作系统是ubuntu

最佳答案

哇...在 stackoverflow 上搜索更多之后,我得到了 this question , 指向 this documentation .

接着,按照 the documentation 中的说明,使用默认的 usernamepassword 配置我的 .pgpass 文件, 一切正常!!!!

虽然,我仍然不明白为什么它以前适用于我的测试环境数据库,而不是开发环境数据库。

关于ruby-on-rails - postgresql数据库迁移错误:PG::ConnectionBad: fe_sendauth: no password supplied,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32529331/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com