在嘗試解決我遇到的NoMethodError時,我在某處讀取運行rake db:reset
可能有助於解決問題的方法。我是Rails的新手,並且在不知道這會做什麼的情況下犯了這個錯誤。當我運行它,它成功刪除我的開發數據庫(PosgreSQL),但隨後打了一個致命的錯誤有以下消息:rake db:通過刪除數據庫中途重置失敗
Dropped database 'development'
FATAL: Peer authentication failed for user "postgres"
Couldn't drop database 'test'
rake aborted!
PG::ConnectionBad: FATAL: Peer authentication failed for user "postgres"
Tasks: TOP => db:drop:_unsafe
我試圖手動跌落測試數據庫並重新運行rake db:reset
,但是發生了同樣的錯誤。所以我丟失了我在開發數據庫中的數據,並且只能停留在空的生產數據庫中。
我知道這可以通過編輯pg_hba.conf
文件來解決,但我的應用程序正在我學校的高性能羣集(Linux VM)上運行,並且我沒有該文件的寫入權限。我不明白的是爲什麼它能夠放棄我的開發數據庫,但沒有其他的。
我還有我的seeds.rb
和schema.rb
文件,那麼有可能重建我的數據庫而不會進一步搞亂事情嗎?或者有什麼方法可以解決直接影響復位命令的問題嗎?
你可能想看到這個https://stackoverflow.com/questions/10301794/difference-between-rake-dbmigrate-dbreset-and-dbschemaload?rq=1 – fangxing