2012-02-04 3 views
21

Я пытаюсь запустить rails dbconsole на Heroku, но получаю следующее сообщение об ошибке:Поддерживает ли Heroku «рельсы dbconsole»?

heroku run rails dbconsole 
# => Couldn't find database client: psql. Check your $PATH and try again 

Можно ли использовать dbconsole на Heroku? Если нет другого клиента, который может быть использован?

ответ

42

https://devcenter.heroku.com/articles/heroku-postgresql - «Вы должны быть PostgreSQL установлены на вашей системе, чтобы использовать Heroku Pg: Psql». Возможно, вам не хватает PostgreSQL на вашем компьютере. Если это не так, то попробуйте эту другую команду, чтобы добраться до Postgres консоли вместо:

heroku pg:psql 

«PSQL является родным PostgreSQL интерактивного терминала и используется для выполнения запросов и выдачи команд на подключенной базе данных.»

+0

Это сработало для меня. –

+0

Weird, около года назад я смог использовать heroku run rails dbconsole на всех моих машинах, теперь он говорит # => Не удалось найти клиента базы данных: psql. Проверьте свой $ PATH и повторите попытку Конечно, у меня есть psql в моей PATH, более того, добавление PATH =/usr/local/bin в команду heroku не помогло – januszm

8

Я думаю heroku-sql-console должен обеспечивать подобную функциональность, но когда я попытался запустить его, я получил эту ошибку:

 
undefined local variable or method `app' for # (NameError) 

Это был reported as a bug, но нет никаких исправлений или обходного пути.

Обновление: Поскольку @Alban предлагает исправить эту проблему, необходимо обновить клиент. Для этого мне нужно было запустить gem update heroku.

+1

Briliant - спасибо, Люк, работал с удовольствием –

+1

Heroku теперь говорит, что это устарело – Evan

+0

Ответ Chase T сработал для меня. –

3

Как говорит Люк, вы можете использовать heroku-sql-console. Но сначала убедитесь, что вы используете последнюю версию клиента Heroku:

> heroku update
+2

Спасибо, что Албан –

0

Is it possible to use the dbconsole on Heroku? If not is there another client that can be used?

Вы можете использовать онлайн-клиент базы данных, если используете activeadmin.

Просто добавьте камень activeadmin-sqlpage:

gem 'activeadmin-sqlpage' 

И создать activeadmin страницу:

# file app/admin/sql.rb 
ActiveAdmin::SqlPage::register 

Перезагрузите сервер. Затем перейдите на панель администратора и перейдите в меню SQL. Введите любую команду sql и нажмите Ctrl+Enter или Submit.