Heroku是否支持`rails dbconsole`?

24

我想在Heroku上启动rails dbconsole,但是出现以下错误:

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

是否可以在Heroku上使用dbconsole?如果不能,是否有其他客户端可用?

4个回答

46

https://devcenter.heroku.com/articles/heroku-postgresql - "使用 heroku pg:psql 必须在系统上安装了 PostgreSQL"。可能你的机器上缺少 PostgreSQL。如果不是这种情况,那么尝试使用以下命令进入 Postgres 控制台:

heroku pg:psql 

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


奇怪的是,大约一年前我能够在所有机器上使用 heroku run rails dbconsole 现在它显示 # => 找不到数据库客户端:psql。请检查您的 $PATH 并重试 当然,我的 $PATH 中有 psql,而且将 PATH=/usr/local/bin 添加到 heroku 命令也没有帮助。 - januszm

8
我认为heroku-sql-console应该提供类似的功能,但是当我尝试运行它时,我遇到了以下错误:
undefined local variable or method `app' for # (NameError)
这已经报告为一个错误,但没有修复或解决方法。
更新:正如@Alban建议的那样,解决这个问题的方法是更新客户端。我必须运行gem update heroku来完成这个操作。

1
Heroku现在说这已经过时了。 - Evan

3

正如Luke所说,您可以使用heroku-sql-console。但首先确保您正在使用最新的Heroku客户端:

> heroku update

0
有没有可能在Heroku上使用dbconsole?如果不行,是否有其他客户端可以使用?
如果您使用activeadmin,则可以使用在线数据库客户端。
只需添加gem activeadmin-sqlpage
gem 'activeadmin-sqlpage'

创建ActiveAdmin页面:
# file app/admin/sql.rb
ActiveAdmin::SqlPage::register

重新启动您的服务器。然后进入管理员面板并导航到菜单SQL。输入任何SQL命令,然后按下Ctrl+Enter提交按钮。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接