查看heroku上的数据库

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

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

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

我想在等待下载数据时我可以做仰卧起坐。 我听说这是旧程序员在编译时所做的事情。


我看过Heroku中的Viewing数据库 ,它只是一个“不能这样做”。
真的吗? 我们无法查看实时数据?

(未经测试但看起来它正是你要找的……)

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

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

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

这是它的样子:

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


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

要安装它:

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

要连接到默认数据库:

 $ heroku jackdb 

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

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

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

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

尝试

 heroku pg:psql 

您将自动了解后续步骤

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

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

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

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

嗯,这不是一个完美的答案,但最好的方法是使用控制台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的工作人员非常积极响应并对此类请求很有帮助。

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

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

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

转到您的Heroku数据库 ,所有登录详细信息都将在那里。

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