2016-08-25 25 views
2

我似乎無法在使用docker撰寫時重置我的數據庫。我試過殺死服務器,只殺死數據庫,然後重啓機器。docker-compose rails rake db:重置失敗,「無法刪除當前打開的數據庫」

任何人都知道清除開發數據庫的最好方法嗎?

這裏是我的嘗試:

docker-compose run web rake db:reset 

我收到此錯誤:

PG::ObjectInUse: ERROR: cannot drop the currently open database : DROP DATABASE IF EXISTS "postgres" Couldn't drop database 'postgres' rake aborted!

我使用的是完全一樣的泊塢窗,撰寫快速入門描述的設置:https://docs.docker.com/compose/rails/

我有一個導軌容器和一個postgres容器

回答

5

你一個重新使用錯誤的數據庫。

數據庫postgres通常不用於用戶數據,但用於管理目的。例如,如果要刪除數據庫,則必須連接到PostgreSQL數據庫集羣中的其他數據庫才能發出SQL語句DROP DATABASE。通常情況下,數據庫postgres用於此目的,我毫不懷疑Docker會在嘗試刪除數據庫時執行該操作。

如果您確實想刪除數據庫postgres,則必須連接到羣集中的其他數據庫。但是,正確的解決方案是將數據保存在不同的數據庫中。那麼問題應該自行消失。

+0

謝謝。這正是問題 - 我需要做的只是在config/database.yml中更改數據庫名稱,以便它不是postgres。非常感謝您的幫助! – Dave

+0

同樣,我遵循相同的教程,並有同樣的問題。謝謝。 –

+0

我剛剛添加了一個PR來更改文檔。希望它會合並,並保存其他postgres小白的麻煩。 –