2012-03-21 101 views
4

運行「rake db:migrate」時,我得到「數據庫配置不指定適配器」錯誤。「數據庫配置不指定適配器」錯誤與Rails 3.2中的PG寶石

這裏是我的database.yml:

development: 
 adapter: postgresql 
 database: development 
 username: ########## 
 password: ########## 
 host: localhost 
 pool: 5 
 timeout: 5000 

我的Gemfile名單:

gem 'pg' 

回答

12

找出它是什麼。我爲自己寫了一個database.yml文件,並插入了大量不可見的字符,從而阻止了YAML的讀取。

+2

你在開玩笑吧。 – 2012-10-30 17:01:37

+1

我真的,真的希望我是。 – Dan 2012-11-06 17:56:19

+2

我真的很希望你也是,因爲我遇到了同樣的問題,並通過查看這個答案來解決它。 – 2012-11-07 16:10:17

4

你是否確信你設置的環境中發展?

這是我的mac上的export RAILS_ENV=development

+0

放置在哪裏?可能值得注意的是我在OSX Lion中。 – Dan 2012-03-21 04:08:15

+0

在啓動導航服務器或運行遷移任務之前在您的終端中鍵入此代碼 – Nikhil 2012-03-21 04:10:16

+0

否。任何其他想法?我仍然得到「數據庫配置不指定適配器」,即使是在「rake db:migrate」之前執行的。 – Dan 2012-03-21 19:52:56

8

在我的情況

RAILS_ENV=development rake db:migrate 

的伎倆。

+1

您可以隨時將'export RAILS_ENV = development'添加到'〜/ .bashrc'文件中。 – 2012-12-17 07:23:25

+0

或者你可以鍵入'rake db:migrate RAILS_ENV = development',它告訴rake將該變量提供給它的上下文。 – 2014-08-21 20:35:00

+0

這是一個壞主意。有時候,你需要RAILS_ENV =測試。 – Dan 2015-02-03 05:32:59

0

在我對Rails應用程序進行了一些最近更改之後,我也遇到了這個錯誤。首先錯誤出現在unicorn日誌中,所以我嘗試運行rake db:setup,並在那裏得到了錯誤。

在我的情況下,我以某種方式在test數據庫定義之前獲得了一個額外的空間。所以我database.yml是這樣的:

... 
test: 
    adapter: postgresql 
... 
production: 
    adapter: postgresql 
... 

,而不是這樣的:

... 
test: 
    adapter: postgresql 
... 
production: 
    adapter: postgresql 
... 

我刪除了空間和固定的問題。