查看heroku上的数据库

时间:2012-02-13 01:36:15

标签: ruby-on-rails postgresql heroku

我试图查看我的heroku实例上的数据。 我希望能够在他们的服务器上查看数据库..

我不想把它拉到我的本地系统..更重要的是,我不想等那么久,看看数据。

让我们假设我将当前数据库中的800万本书(以及所有相关的元数据)推送到heroku。然后在两个月内我又增加了1200万。 (我还处于开发模式) 如果我对一批数据有问题,我认为下拉整个数据库是不可行的。

我想在等待下载数据时我可以做仰卧起坐。我听说那些老程序员在编译过程中做了什么。


我已经查看了Viewing database in Heroku,它只是一个"无法做到。"
真的吗?我们无法查看实时数据?

10 个答案:

答案 0 :(得分:16)

您可以使用JackDB (http://www.jackdb.com)

JackDB是Web浏览器中的数据库客户端,它与Heroku集成OAuth。它允许您列出Heroku应用程序及其各自的数据源,然后连接到它们以运行SQL查询。有关如何将其与Heroku一起使用的详细信息,请参阅docs

这是它的样子:

http://static.jackdb.com/assets/img/blog/jackdb-heroku-oauth-connect.gif


还有Heroku CLI的JackDB Heroku plugin。该插件允许您从命令行运行heroku jackdb以连接到默认数据库。如果您有多个数据库并希望明确选择要连接的数据库,还有其他选项。

安装它:

$ heroku plugins:install https://github.com/jackdb/jackdb-heroku-plugin.git

连接到默认数据库:

$ heroku jackdb

完全披露:我是JackDB的创始人。

答案 1 :(得分:14)

来自https://devcenter.heroku.com/articles/heroku-postgresql

Heroku Postgres可以通过CLI附加到Heroku应用程序: $ heroku addons:add heroku-postgresql:dev

使用heroku pg:psql与远程数据库建立psql会话。

答案 2 :(得分:7)

尝试

heroku pg:psql

您将自动了解后续步骤

答案 3 :(得分:3)

(未经测试,但似乎正是您要找的......)

https://github.com/ddollar/heroku-sql-console

答案 4 :(得分:3)

要直接从Heroku查看数据库,我只需在https://dataclips.heroku.com/创建整个数据库的“Dataclip”。您也可以从postgreSQL应用程序到达那里。在此页面中,执行SQL查询以查看所需数据。

如果您不确定数据库中有哪些表,请使用以下命令查看它们:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'

答案 5 :(得分:0)

取决于“查看数据库”的含义。如果你正在寻找一个真正的SQL控制台,你可能会运气不好;但是,始终有heroku console可以让您访问附加到您的应用及其Heroku数据库的IRB会话。从那里,您可以使用Book.where("title = ?", @title)Book.count等常用命令或任何您需要的命令。

答案 6 :(得分:0)

嗯,这不是一个完美的答案,但最好的方法是使用控制台IMO。

为了让这更容易一些,我在我的一些模型上放了一个类方法来打印它们。我的应用程序的一个例子是:

class User

  def self.list
    puts "ID. Name  -  Email\n"
    self.all.each do |user|
      puts "#{user.id}.  #{user.name}  -  #{user.email}\n"
    end
  end

end

在控制台中,您只需拨打User.list即可获取列表。

现在这个方法没有得到很好的优化,如果它被编写好会被链接到查询的末尾会更好,但你会得到基本的想法。

这有点笨拙,但制作这样的显示辅助方法可能是在Heroku上内省数据的最快方法。

否则,我的建议是联系他们并征求建议,根据我的经验,Heroku的工作人员对这些请求非常敏感和乐于助人。

我希望这会给你一两个想法。

答案 7 :(得分:0)

您无法直接连接到共享Heroku实例 - 如果您使用专用的Postgres Heroku插件,则可以直接连接本地系统的PG工具。但是,这样做会有很大的成本上涨。

答案 8 :(得分:0)

我知道这是一个老问题,但我想如果有人有兴趣我会回答。我一直在使用PG Commander在本地和heroku上查看我的数据库。它不是免费的(目前28英镑),但它非常好。

转到Heroku databases,所有登录详细信息都会在那里。

答案 9 :(得分:0)

DBHawk尝试Datasparc。我们要求Datasparc为我们创建一个在线演示,并且它有效。