Ответ 1
(непроверенный, но, похоже, это то, что вы ищете..)
Я пытаюсь взглянуть на данные моего экземпляра heroku. Я хотел бы иметь возможность просматривать базу данных на своем сервере.
Я не хочу вытаскивать его в свою локальную систему. Более того, я не хочу так долго ждать, чтобы взглянуть на данные.
Предположим, что я подталкиваю текущую базу данных из 8 миллионов книг (и всех связанных метаданных) до героку. Затем через два месяца я добавляю еще 12 миллионов. (Я все еще в режиме разработки) Если у меня возникла проблема с одной партией данных, я не считаю возможным вывести всю базу данных.
Я предполагаю, что смогу сделать хрустит, пока я жду загрузки гидов данных. Я слышал, что старые программисты делали во время компиляции.
Я просмотрел Просмотр базы данных в Heroku, и это просто "Не могу этого сделать".
Это правда? Мы не можем смотреть живые данные?
(непроверенный, но, похоже, это то, что вы ищете..)
Вы можете использовать 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.
Из https://devcenter.heroku.com/articles/heroku-postgresql
Heroku Postgres может быть прикреплен к заявлению Heroku через CLI:
$ 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'
Зависит от того, что вы подразумеваете под "просмотр базы данных". Если вы ищете надежную консоль SQL, вам, вероятно, не повезло; однако всегда есть heroku console
, который дает вам доступ к сеансу IRB, подключенному к вашему приложению, и его базе данных Heroku. Оттуда вы можете использовать обычные команды типа 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
, чтобы получить список.
Теперь этот метод не очень оптимизирован, и было бы лучше, если бы он был написан так, чтобы его можно было прикован к концу запроса, но вы получили основную идею.
Это немного cludgy, но создание вспомогательного метода отображения, как это, вероятно, самый быстрый способ для анализа ваших данных на Heroku.
В противном случае мой совет будет связываться с ними и запрашивать рекомендации, по моему опыту сотрудники Heroku очень отзывчивы и полезны с такими просьбами.
Надеюсь, это даст вам две идеи.
Невозможно напрямую подключиться к экземплярам Shared Heroku - если вы используете специальный аддон Postgres Heroku, вы можете напрямую подключиться к инструментам PG из своей локальной системы. Однако для этого существует значительный скачок стоимости.
Я знаю, что это старый вопрос, но я думал, что отвечу, если кто-то будет заинтересован. Я использую PG Commander для просмотра моих баз данных как локально, так и по героку. Это не бесплатно (£ 28 на данный момент), но это очень хорошо.
Перейдите в базы данных Heroku, и все данные для входа будут доступны.
Попробуйте DBHawk из Datasparc. Мы попросили Datasparc создать онлайн-демо для нас, и это сработало.