2017-06-14 48 views
0

我遇到了一個問題,我不知道如何擺脫這個問題。努力創造一個軌道視圖,並填充我的觀點和編輯我的控制器之後,我遇到了,指出PG::UndefinedTable: ERROR: relation 'caves' does not existPG :: UndefinedTable:錯誤:關係'洞穴'不存在

展望什麼,我做了一個錯誤,我意識到,我創建了模型cafe但是當我人口稠密我的模式表,我不小心創建了一個名爲caves而不是cafes的表。

下面是我所做的嘗試解決這個問題。

  1. 我第一次嘗試創建遷移到剛剛從cavescafes重命名錶 - 仍然遇到同樣的錯誤
  2. 我又試圖刪除架構表一起,創建一個新的一起叫cafe - 仍然遇到同樣的錯誤
  3. 然後我試着把我的數據庫放在一起,想着如果我只是抹去了整個事情,並開始了(我剛開始這個rails項目)。我跑rake db:reset才進入了一個新的錯誤告訴我ActiveRecord::StatementInvalid: PG::ObjectInUse: ERROR: database "cafe_database" is being accessed by other users
  4. 通過這一點,我試圖重新啓動我的postgress就跑sudo service postgresql restart ....但我的機器不認service

有誰有想法我能做些什麼來解決這個問題?我正在用盡想法。

+0

首先,確保沒有其他會話DB是開放的。然後嘗試@puneet提到的內容。 –

+0

如何檢查是否沒有其他會話打開數據庫?這是通過運行'ps -aef |來完成的grep rails'並殺死任何xtra pid? – kdweber89

+0

手動檢查所有'rails c','rails s',命令行psql會話等並關閉它們。如果您仍然遇到問題,請結帳https://www.devopsderek.com/blog/2012/11/13/list-and-disconnect-postgresql-db-sessions/ –

回答

0

嘗試以下步驟:

1. rake db:drop 
2. rake db:create 
3. rake db:migrate 
+2

這將徹底清除數據庫並從頭開始。如果你在一個只有測試數據的開發環境中,這很好。但是不要在實時環境中執行此操作,因爲您將丟失所有數據。 –

相關問題