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

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

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

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

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


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

10 ответов

Решение

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

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

Вы можете использовать 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.

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

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

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

Пытаться

heroku pg:psql

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

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

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

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

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

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

Я надеюсь, что это дает вам идею или две.

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

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

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

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

Другие вопросы по тегам