2012-02-04 45 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按钮。