Looking at the database on heroku
我试图看看我的heroku实例上的数据。
我希望能够在他们的服务器上查看数据库..
我不想把它拉到我的本地系统..更重要的是我不想等那么久,看看数据。
让我们假设我将当前数据库中的800万本书(以及所有相关的元数据)推送到heroku。 然后在两个月内我又增加了1200万。 (我还处于开发模式)
如果我对一批数据有问题,我认为下拉整个数据库是不可行的。
我想在等待下载数据时我可以做仰卧起坐。 我听说这是旧程序员在编译时所做的事情。
我看过在Heroku中查看数据库,它只是一个"不能这样做"。
真的吗? 我们无法查看实时数据?
您可以使用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插件。该插件允许您从命令行运行
要安装它:
1 | $ heroku plugins:install https://github.com/jackdb/jackdb-heroku-plugin.git |
要连接到默认数据库:
1 | $ heroku jackdb |
完全披露:我是JackDB的创始人。
来自https://devcenter.heroku.com/articles/heroku-postgresql
Heroku Postgres可以通过CLI附加到Heroku应用程序:
要与远程数据库建立psql会话,请使用
尝试
1 | heroku pg:psql |
您将自动了解后续步骤
要直接从Heroku查看数据库,我只需在https://dataclips.heroku.com/上创建整个数据库的"Dataclip"。您也可以从postgreSQL应用程序到达那里。在此页面中,执行SQL查询以查看所需数据。
如果您不确定数据库中有哪些表,请使用以下命令查看它们:
1 | SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' |
(未经测试但看起来它正是你要找的......)
https://github.com/ddollar/heroku-sql-console
试试Datasparc的DBHawk。我们要求Datasparc为我们创建一个在线演示,并且它有效。
我知道这是一个老问题,但我想如果有人有兴趣我会回答。我一直在使用PG Commander在本地和heroku上查看我的数据库。它不是免费的(目前28英镑),但它非常好。
转到您的Heroku数据库,所有登录详细信息都将在那里。
您无法直接连接到Shared Heroku实例 - 如果您使用专用的Postgres Heroku插件,则可以直接连接本地系统的PG工具。但是,这样做会有很大的成本上涨。
嗯,这不是一个完美的答案,但最好的方法是使用控制台IMO。
为了使这更容易一些,我在我的一些模型上放了一个类方法来打印它们。我的应用程序的一个例子是:
1 2 3 4 5 6 7 8 9 10 11 12 | class USER def SELF.list puts"ID. Name - Email " SELF.all.each do |USER| puts"#{user.id}. #{user.name} - #{user.email} " END END END |
在控制台中,您只需调用
现在这个方法没有得到很好的优化,如果它被编写它会更好,它可以被链接到查询的末尾,但你得到了基本的想法。
这有点笨拙,但制作这样的显示辅助方法可能是在Heroku上内省数据的最快方法。
否则,我的建议是联系他们并询问建议,根据我的经验,Heroku的工作人员非常敏感,对此类请求很有帮助。
我希望这会给你一个或两个想法。
取决于"查看数据库"的含义。如果你正在寻找一个真正的SQL控制台,你可能会运气不好;但是,总有