Heroku Cedar Stack и командная консоль запуска heroku

В моих старых приложениях Ruby 1.9.2 Sinatra, работающих на стеке Bamboo, консоль heroku предоставляла оболочку, которая не только инициализировала Active Record, но и регистрировала файл истории в моем каталоге .heroku.

После перехода на стек Heroku Cedar и использования Ruby 1.9.3 я обнаружил, что консоль запуска heroku не загружает ни одну из моих моделей Active Record. Я исправил это, написав небольшой ruby-скрипт для инициализации Active Record и загрузки моих моделей.

Я выполняю это, используя неуклюжий запуск heroku 'bundle exec irb -r ./console'

Эта консоль IRB запускается нормально и дает мне доступ к данным моей модели, но история не регистрируется.

1) Почему консоль запуска героку так стерилизована? 2) Как я могу сделать так, чтобы сеансы консоли записывались в историю?

Пожалуйста?

Спасибо


person David Lazar    schedule 26.04.2012    source источник
comment
Я думаю, что консоль запуска keroku была сделана в основном для приложений RoR.   -  person Ismael    schedule 26.04.2012


Ответы (2)


Добавьте следующую строку в Procfile:

console: bundle exec irb -r ./console

Хранить историю непросто, так как при каждом новом вызове будет запускаться динамометр (стек кедра также не хранит историю для консоли Rails). Вы можете попробовать использовать rlwrap, чтобы сохранить историю на локальном компьютере.

person Konstantin Haase    schedule 27.04.2012
comment
Интересный. Спасибо Константин, попробую использовать Procfile. Пока все работает без него. - person David Lazar; 27.04.2012

Из документов:

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

и

Без аргумента heroku console запускает интерактивную консоль, похожую на irb или команду Rails script/console

run console предназначен для запуска консоли Rails, или irb.

person Neil Middleton    schedule 26.04.2012