Heroku是否支持`rails dbconsole`?

时间:2012-02-04 18:51:22

标签: ruby-on-rails heroku

我正在尝试在Heroku上启动rails dbconsole,但会收到以下错误:

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

是否可以在Heroku上使用dbconsole?如果没有,可以使用另一个客户端吗?

4 个答案:

答案 0 :(得分:44)

https://devcenter.heroku.com/articles/heroku-postgresql - “您必须在系统上安装PostgreSQL才能使用heroku pg:psql”。所以也许你的机器上缺少PostgreSQL。如果不是这样,那么尝试使用另一个命令转到Postgres控制台:

heroku pg:psql 

“psql是本机PostgreSQL交互式终端,用于执行查询并向连接的数据库发出命令。”

答案 1 :(得分:8)

我认为heroku-sql-console应该提供类似的功能,但是当我尝试运行它时,我遇到了这个错误:

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

已经reported as a bug,但没有解决方法或解决方法。

更新:正如@Alban建议的那样,解决此问题的方法是更新客户端。我必须运行gem update heroku来执行此操作。

答案 2 :(得分:3)

正如卢克所说,你可以使用heroku-sql-console。但首先要确保您使用的是最新的heroku客户端:

> heroku update

答案 3 :(得分:0)

  

是否可以在Heroku上使用dbconsole?如果没有,可以使用另一个客户端吗?

如果您使用activeadmin,则可以使用在线数据库客户端。

只需添加gem activeadmin-sqlpage

gem 'activeadmin-sqlpage'

并创建activeadmin页面:

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

重新启动您的服务器。然后转到管理面板并导航菜单SQL。输入任何sql命令,然后按Ctrl+EnterSubmit按钮。