查看heroku上的数据库
我试图看看我的heroku实例上的数据。 我希望能够在他们的服务器上查看数据库..
我不想把它拉到我的本地系统..更重要的是我不想等那么久,看看数据。
让我们假设我将当前数据库中的800万本书(以及所有相关的元数据)推送到heroku。 然后在两个月内我又增加了1200万。 (我仍处于开发模式)如果我对一批数据有问题,我认为下拉整个数据库是不可行的。
我想在等待下载数据时我可以做仰卧起坐。 我听说这是旧程序员在编译时所做的事情。
我看过Heroku中的Viewing数据库 ,它只是一个“不能这样做”。
真的吗? 我们无法查看实时数据?
(未经测试但看起来它正是你要找的……)
您可以使用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为我们创建一个在线演示,并且它有效。
- Heroku配置:推送不更新环境变量
- heroku / memcache和dalli的奇怪缓存问题
- Rails 3.1部署到Heroku错误
- Rails:使用development.sqlite3数据填充Heroku数据库
- 安装heroku toolbelt后出现Ruby错误
- 在使用Action Cable(Puma端口侦听)的同时将Ruby on Rails应用程序部署到Heroku
- git clone heroku ssh权限被拒绝
- Errno :: ECONNREFUSED(连接被拒绝 – 连接(2)为nil端口587):对于Heroku上的Rails
- Github和heroku上的App:忽略一个文件而不是另一个文件