Глядя на базу данных по героку - PullRequest
15 голосов
/ 13 февраля 2012

Я пытаюсь взглянуть на данные о моем экземпляре heroku. Я хотел бы иметь возможность просматривать базу данных на их сервере ..

Я не хочу переносить это в мою локальную систему. Более того, я не хочу ждать так долго, чтобы взглянуть на данные.

Давайте предположим, что я перенес свою текущую базу данных из 8 миллионов книг (и всех связанных с ней метаданных) до герою. Затем через два месяца я добавляю еще 12 миллионов. (Я все еще в режиме разработки) Если у меня есть проблема с одним пакетом данных, я не думаю, что выполнимо уничтожить всю базу данных.

Полагаю, я мог бы делать хрусты, пока жду загрузки концертов данных. Я слышал, это то, что старые программисты делали во время компиляции.


Я посмотрел на Просмотр базы данных в Heroku , и это просто «Не могу».
Это правда? Мы не можем смотреть на данные в реальном времени?

Ответы [ 10 ]

16 голосов
/ 24 апреля 2013

Вы можете использовать JackDB (http://www.jackdb.com).

JackDB - это клиент базы данных в вашем веб-браузере, который имеет интеграцию OAuth с Heroku. Это позволяет вам перечислить ваши приложения Heroku и их соответствующие источники данных, а затем подключиться к ним для выполнения запросов SQL. См. документы для получения подробной информации о том, как использовать его с Heroku.

Вот как это выглядит:

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


Также имеется плагин JackDB Heroku для интерфейса Heroku. Плагин позволяет запускать heroku jackdb из командной строки для подключения к базе данных по умолчанию. Существуют дополнительные параметры, если у вас несколько баз данных и вы хотите явно выбрать, к какой из них вы хотите подключиться.

Чтобы установить его:

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

Для подключения к базе данных по умолчанию:

$ heroku jackdb

Полное раскрытие: Я основатель JackDB .

14 голосов
/ 10 февраля 2013

С https://devcenter.heroku.com/articles/heroku-postgresql

Heroku Postgres можно подключить к приложению Heroku через CLI: $ heroku addons:add heroku-postgresql:dev

Чтобы установить сеанс psql с удаленной базой данных, используйте heroku pg:psql.

7 голосов
/ 11 февраля 2015

Попробуйте

heroku pg:psql

Вы узнаете следующие шаги автоматически

3 голосов
/ 15 марта 2013

Чтобы просмотреть базу данных непосредственно из Heroku, я просто создаю 'Dataclip' всей базы данных на https://dataclips.heroku.com/.Вы также можете получить его из приложения postgreSQL.На этой странице выполните SQL-запрос для просмотра нужных данных.

Если вы не уверены, какие таблицы находятся в базе данных, просмотрите их с помощью:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'
3 голосов
/ 13 февраля 2012

(не проверено, но, кажется, это то, что вы ищете ..)

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

0 голосов
/ 27 марта 2015

Попробуйте DBHawk из Datasparc .Мы попросили Datasparc создать для нас онлайн-демонстрацию, и это сработало.

0 голосов
/ 10 марта 2015

Я знаю, что это старый вопрос, но думал, что отвечу, если кому-то будет интересно. Я использовал PG Commander для просмотра моих баз данных как локально, так и на heroku. Это не бесплатно (£ 28 на данный момент), но это очень хорошо.

Перейдите в базы данных Heroku , и все данные для входа будут там.

0 голосов
/ 13 февраля 2012

Вы не можете напрямую подключиться к экземплярам Shared Heroku - если вы используете выделенный аддон Postgres Heroku, вы сможете напрямую подключиться с помощью инструментов PG из локальной системы.Однако для этого требуется существенный скачок затрат.

0 голосов
/ 13 февраля 2012

Ну, это не идеальный ответ, но лучший способ получить это - использовать консоль 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 очень отзывчивы и готовы помочь с такими запросами.

Надеюсь, это даст вам представлениеили два.

0 голосов
/ 13 февраля 2012

Зависит от того, что вы подразумеваете под «просмотром базы данных».Если вы ищете добросовестную консоль SQL, вам, вероятно, не повезло;однако всегда есть heroku console, который дает вам доступ к сеансу IRB, присоединенному к вашему приложению и его базе данных Heroku.Оттуда вы можете использовать обычные команды, такие как Book.where("title = ?", @title) или Book.count или все, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...