2017-10-09 84 views
0

我試圖將我的Rails應用程序的數據庫從SQLite3遷移到Postgresql,但沒有發現這一切很容易。我正在關注這個Railscast(http://railscasts.com/episodes/342-migrating-to-postgresql)。從SQLite3遷移到Postgresql的Rails應用程序

我已經編輯我的database.yml文件到以下幾點:

default: &default 
adapter: postgresql 
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 
timeout: 5000 

development: 
<<: *default 
database: db/development.postgresql 

test: 
<<: *default 
database: db/test.postgresql 

production: 
<<: *default 
database: db/production.postgresql 

所有我在這裏做的改變,上述所有部件「的SQLite3」到'PostgreSQL的。這與Railscast不一樣,但我猜它已經過時(2012年)。

我已經安裝了gem'pg','〜> 0.21.0',並且我刪除了SQLite3 gem。我已經安裝了Postgresql 9.6.3。

接下來我安裝了水龍頭寶石(0.3.24)。在此之後我嘗試「耙分貝:創建:全」返回,但該錯誤信息是:

fe_sendauth: no password supplied 
Couldn't create database for {"adapter"=>"postgresql", "pool"=>5, 
"timeout"=>5000, "database"=>"db/development.postgresql"} 
rake aborted! 

我在這個網站,我需要做的Heroku遷移閱讀 - 「Heroku的運行耙分貝:遷移',但是當我嘗試這個時,返回相同的錯誤。

我真的不知道這個錯誤信息是什麼意思 - 我認爲這可能與conf_hba文件或pgAdmin有關,但我不明白這些工作是如何工作的。

幫助將不勝感激,謝謝:-)

回答

0

您的文件,以提供與你的Postgres數據庫的password & username作爲 ``

 
default: &default 
    adapter: postgresql 
    encoding: unicode 
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 
    timeout: 5000

development: <<: *default database: performance_rails_develop username: postgres password: password pool: 5

test: <<: *default database: performance_rails_test username: postgres password: password

production: <<: *default database: db/production.sqlite3

+0

你的意思,你只需輸入用戶名和你自己選擇的密碼在你的database.yml文件中? – Robert

+0

否@Robert此用戶名和密碼是數據庫用戶名和密碼。 –

+1

對不起,我對這款遊戲相當陌生。我如何找出我的數據庫用戶名和密碼? – Robert

相關問題