2011-08-26 89 views
10

我通過邁克爾·哈特爾的優秀tutorial工作的主人,但試圖用命令準備測試數據庫時: 束EXEC耙分貝:測試:準備 我收到此錯誤信息:耙子中止!錯誤:必須是數據庫

ERROR :必須是數據庫sample_app_test的所有者...

使用開發數據庫的時候,因爲我創造了我的Rails應用程序下面的數據庫角色,我從來沒有得到:

CREATE ROLE demo_app與CREATEDB LOGIN

(這是使用Postgresql)

有沒有人明白爲什麼這是失敗的測試環境? TIA ...

+0

我忘了補充說我使用Rails 3.0.9,ruby 1.8.7和Postgres 8.4.8,並且我沒有遇到任何上述問題。 – rixter

+2

有沒有想到這一點?我遇到了同樣的問題 – nicholaides

回答

14

您確定測試數據庫的所有權嗎?嘗試在Postgres控制檯客戶端上運行\l命令並檢查所有權。你也可以嘗試以下查詢:

ALTER DATABASE sample_app_test OWNER TO demo_app;

+0

,你在發言結束時忘了';';) – Chris

1

第一次發帖,寫下來留給後人。我遇到了同樣的問題,但能夠修復它。您只需確保在創建數據庫時(或引發錯誤的那個數據庫)以超級用戶身份登錄。

我登錄到PSQL與此代碼:

sudo sudo -u postgres psql 

而且創建了數據庫。 這是不好的。你想與這些超級用戶憑證登錄:

sudo su - postgres 

然後你到Postgres的記錄後:

psql 

然後創建數據庫。你可以用命令殺死你的舊數據庫

DROP DATABASE "database_to_drop"; 

重新創建它們,你應該很好去!

相關問題