Глядя на базу данных по героку

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

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

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

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


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

Ответ 2

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

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

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


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

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

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

Чтобы подключиться к базе данных по умолчанию:

$ heroku jackdb

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

Ответ 3

Из https://devcenter.heroku.com/articles/heroku-postgresql

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

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

Ответ 4

Попробуйте

heroku pg:psql

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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

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

Это немного cludgy, но создание вспомогательного метода отображения, как это, вероятно, самый быстрый способ для анализа ваших данных на Heroku.

В противном случае мой совет будет связываться с ними и запрашивать рекомендации, по моему опыту сотрудники Heroku очень отзывчивы и полезны с такими просьбами.

Надеюсь, это даст вам две идеи.

Ответ 8

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

Ответ 9

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

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

Ответ 10

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