Глядя на базу данных по героку
Я пытаюсь взглянуть на данные о моем экземпляре heroku. Я хотел бы иметь возможность просматривать базу данных на своем сервере..
Я не хочу переносить это в мою локальную систему. Более того, я не хочу ждать так долго, чтобы взглянуть на данные.
Давайте предположим, что я перенес свою текущую базу данных из 8 миллионов книг (и всех связанных с ней метаданных) в "Герою". Затем через два месяца я добавляю еще 12 миллионов. (Я все еще нахожусь в режиме разработки). Если у меня есть проблема с одним пакетом данных, я не думаю, что выполнимо уничтожить всю базу данных.
Я полагаю, что мог бы делать хрусты, пока я жду загрузки концертов данных. Я слышал, это то, что старые программисты делали во время компиляции.
Я посмотрел на Просмотр базы данных в Heroku, и это просто "Не могу сделать это".
Это правда? Мы не можем смотреть на живые данные?
10 ответов
(не проверено, но, кажется, это то, что вы ищете..)
Вы можете использовать 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 очень отзывчивы и готовы помочь с такими запросами.
Я надеюсь, что это дает вам идею или две.
Я знаю, что это старый вопрос, но думал, что отвечу, если кому-то будет интересно. Я использую PG Commander для просмотра своих баз данных как локально, так и на heroku. Это не бесплатно (£28 на данный момент), но это очень хорошо.
Перейдите в свои базы данных Heroku, и все данные для входа будут там.
Зависит от того, что вы подразумеваете под "просмотром базы данных". Если вы ищете добросовестную консоль SQL, вам, вероятно, не повезло; Однако всегда есть heroku console
который дает вам доступ к сеансу IRB, приложенному к вашему приложению и его базе данных Heroku. Оттуда вы можете использовать обычные команды, такие как Book.where("title = ?", @title)
или же Book.count
или что вам нужно.