2017-05-27 59 views
0

我是Rails的新手。我正在嘗試開始我的第一個Rails項目。我在安裝PostGreSQL的Windows 10上運行。 Rail和Ruby版本安裝正確。然後我碰到沒有密碼提供的錯誤。rails db:創建沒有密碼提供(rails with postgresql)

這裏是我的database.yml文件

default: &default 
adapter: postgresql 
encoding: unicode 

pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 

development: 
<<: *default 
database: blog_development 

test: 
<<: *default 
database: blog_test 

production: 
<<: *default 
database: blog_production 
username: blog 
password: password 
# old password: <%= ENV['BLOG_DATABASE_PASSWORD'] %> 

謝謝你們!

No password supplied error

回答

0

每個區塊的表示一個環境。現在,如果你看,你看到沒有密碼的開發和測試。

development: 
<<: *default 
database: blog_development 

test: 
<<: *default 
database: blog_test 

production: 
<<: *default 
database: blog_production 
username: blog 
password: password 

我個人將密碼和用戶名設置在頂部的默認設置,所以我只需要寫一次。這是一個例子。

default: &default 
    adapter: postgresql 
    encoding: unicode 
    username: <%= ENV['DATABASE_USERNAME'] %> 
    password: <%= ENV['DATABASE_PASSWORD'] %> 
    # For details on connection pooling, see rails configuration guide 
    # http://guides.rubyonrails.org/configuring.html#database-pooling 
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 

development: 
    <<: *default 
    database: DBName_Development 

test: 
    <<: *default 
    database: DBName_Test 

production: 
    <<: *default 
    database: DBName_Production 
    username: username 
    password: <%= ENV['DATABASE_PASSWORD'] %> 

會發生什麼事是這條線......

<<default 

......包括這些值。所以,現在我的開發和測試數據庫具有用戶名和我在默認的區域設置密碼。如果您現在回頭看看您的開發(和測試)數據庫沒有發送用戶名或密碼。如果您將這些值添加到您的默認部分,它應該工作。代替我的env變量,你可以把你的價值。值(用戶名和密碼)是您用來登錄到數據庫的內容。

+0

感謝@Rockwell的答案,我編輯database.yml文件,爲你的指示,然後跑了 軌DB:再次創建 命令,但我仍然收到如下錯誤。 fe_sendauth:未提供密碼 無法爲{「adapter」=>「postgresql」, 「encoding」=>「unicode」,「username」=> nil,「password」=> nil, 「 pool「=> 5,」database「=>」DBName_Development「} rails中止! PG :: ConnectionBad:fe_sendauth:沒有密碼提供 斌/導軌:4:'需要 ' 斌/導軌:4:'

' 任務:TOP => DB:創建 (通過運行任務查看完整的跟蹤與--trace) – Freelensia

+0

你可以發佈你更新的database.yml文件。如果你用我的代碼與env變量你確實設置了正確的? –

+0

和郵編中的問題,而不是評論 –

0

以下是database.yml文件的代碼在Postgres數據庫連接:

default: &default 
    adapter: postgresql 
    pool: 5 
    timeout: 5000 
    username : username #username of db 
    password : password #password of db, if no password then make it blank 

development: 
    <<: *default 
    database: db_name 

test: 
    <<: *default 
    database: db_name 

production: 
    <<: *default 
    database: db_name 
+0

Hi @ puneet18它仍然無法正常工作。它仍然說沒有密碼提供.... – Freelensia

相關問題