簡體   English   中英

Rails 開發環境嘗試連接到 AWS 數據庫,而不是本地主機的 PostgreSQL

[英]Rails development environment trying to connect to AWS database, not localhost's PostgreSQL

我有一個現有的 Rails 應用程序,它以前在我的本地筆記本電腦(運行 OSX)上成功運行,數據庫本地存儲在 PostgreSQL 中。 我還使用 RDS 中的數據庫成功地將 Rails 應用程序部署到 Elastic Beanstalk - 托管站點仍在運行。

我已經幾個月沒有接觸 localhost 版本了,今天嘗試使用rails server -e development啟動它,但是當像往常一樣訪問http://localhost:3000/ 時,我收到一條 PG 錯誤消息

PG::ConnectionBad at / FATAL:用戶“murjfphxxxxxx”的密碼驗證失敗致命:主機“115.xxx”、用戶“murjfphxxxxxx”、數據庫“d37vsvehxxxxxx”、SSL 關閉沒有 pg_hba.conf 條目

在 Rails 控制台中拋出相同的錯誤。 好像開發版是在嘗試連接AWS數據庫,而不是localhost數據庫,但我不知道為什么。

/config/database.yml 列出開發環境為:

development: adapter: postgresql encoding: unicode database: <my-app>_development host: localhost pool: 5 username: postgres password: <password>

我可以通過PSQL連接到localhost PG數據庫並查看內容,所以看起來localhost PG數據庫是有效的。

為什么開發環境會嘗試連接到 AWS 版本的數據庫? 如果您需要任何進一步的信息來調試它,請告訴我。

使用 ruby​​-2.3.1、Rails 4.2.0、PostgreSQL 9.6.0.0

您的環境中可能有DATABASE_URL 您可以通過輸入env | grep DATABASE_URL來檢查終端中的env | grep DATABASE_URL

如果是這樣,請嘗試使用unset DATABASE_URL

正如文檔中所說:

如果您同時設置了config/database.ymlENV['DATABASE_URL']那么 Rails 會將配置合並在一起。 為了更好地理解這一點,我們必須看一些例子。

當提供重復的連接信息時,環境變量將優先。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM