2011-05-24 29 views
2

有一個簡單的heroku應用程序,帶有續集和postgres。但是,我得到:嘗試使用postgresql代替postgres作爲適配器的續集

% heroku rake db:migrate 
rake aborted! 
LoadError: no such file to load -- sequel/adapters/postgresql 
/app/.bundle/gems/ruby/1.9.1/gems/sequel-3.23.0/lib/sequel/core.rb:249:in `require' 

有一個在續集-3.23.0/lib目錄/續集/適配器沒有postgresql.rb /有我的本地驅動器上的postgres.rb。我正在使用免費計劃。

% heroku info 
... 
Dynos:   1 
Workers:  0 
Repo size:  9M 
Slug size:  8M 
Stack:   bamboo-mri-1.9.2 
Data size:  (empty) 
Addons:   Basic Logging, Shared Database 5MB 


% heroku pg:info 
=== kampanchi database SHARED_DATABASE_URL 
+0

這裏有問題嗎?如果你使用postgresql的「錯誤」名稱,它是否工作? – 2011-05-24 22:03:57

回答

4

續集一直使用「postgres」作爲postgres適配器。如果您已指定「postgresql」作爲適配器方案,則它不應起作用。如果您使用的是Rails,Heroku會使用ActiveRecord格式創建一個database.yml文件(使用「postgresql」),我猜這就是您的Rake任務正在採用的。如果你正在使用Rails/Sequel集成工具,我猜它沒有爲你處理這個轉換,它應該被修復。就我個人而言,我會使用Heroku提供的DATABASE_URL環境變量手動設置數據庫連接。詳細請參照http://devcenter.heroku.com/articles/database#database_urls

0

爲了補充Jeremy的迴應,Heroku總是在DATABASE_URL中使用「postgres」。如果你連接到ENV["DATABASE_URL"],它應該工作,不管你的數據庫是什麼。

相關問題