2012-02-04 44 views
21

我想火起來rails dbconsole在Heroku上,但出現以下錯誤:Heroku是否支持`rails dbconsole`?

heroku run rails dbconsole 
# => Couldn't find database client: psql. Check your $PATH and try again 

是否可以使用在Heroku的DBCONSOLE?如果不是有另一個可以使用的客戶端?

回答

42

https://devcenter.heroku.com/articles/heroku-postgresql - 「你必須已經安裝在系統上的PostgreSQL使用Heroku的PG:PSQL」。所以也許你在你的機器上缺少PostgreSQL。如果不是的話,那就試試這個其他命令去Postgres的控制檯,而不是:

heroku pg:psql 

「PSQL是本地PostgreSQL交互終端,並用於執行查詢,併發出命令到連接的數據庫。」

+0

這對我有效。 – 2013-03-22 00:08:09

+0

奇怪的是,大約一年前,我能夠在我的所有機器上使用 heroku run rails dbconsole ,現在它說#=>找不到數據庫客戶端:psql。檢查你的$ PATH,然後再試一次 當然,我的PATH中有psql,更重要的是,將PATH =/usr/local/bin添加到heroku命令沒有幫助 – januszm 2014-10-29 11:00:50

8

我覺得應該heroku-sql-console提供類似的功能,但是當我試圖運行它,我得到這個錯誤:

 
undefined local variable or method `app' for # (NameError) 

它已經reported as a bug但有沒有修訂或變通方法。

更新:如@Alban所示,此問題的修復方法是更新客戶端。我不得不運行gem update heroku來做到這一點。

+1

Briliant - 謝謝盧克,工作 – 2012-02-05 18:13:10

+1

Heroku現在說這已被棄用 – Evan 2013-01-26 04:45:28

+0

蔡斯T的答案爲我工作。 – 2013-03-22 00:08:41

3

正如盧克所說,你可以使用heroku-sql-console。但首先要確保你使用的是最新的Heroku客戶端:

> heroku update
+2

感謝那個阿爾卑斯 – 2012-02-05 18:12:52

0

Is it possible to use the dbconsole on Heroku? If not is there another client that can be used?

如果您使用activeadmin,則可以使用在線數據庫客戶端。

只需添加寶石activeadmin-sqlpage

gem 'activeadmin-sqlpage' 

,創造activeadmin頁:

# file app/admin/sql.rb 
ActiveAdmin::SqlPage::register 

重新啓動服務器。然後轉到管理面板並導航菜單SQL。輸入任何sql命令並按Ctrl+EnterSubmit按鈕。