Heroku Cedar Stack和命令heroku运行控制台

时间:2012-04-26 14:09:40

标签: heroku console sinatra irb cedar

在Bamboo堆栈上运行的旧的Ruby 1.9.2 Sinatra应用程序中,heroku控制台提供了一个shell,它不仅初始化了Active Record,还记录了我的.heroku目录中的历史文件。

在转移到Heroku Cedar堆栈并使用Ruby 1.9.3之后,我发现heroku运行控制台没有加载我的任何Active Record模型。我通过编写一个小的ruby脚本来初始化Active Record并加载我的模型。

我使用笨拙的heroku运行'bundle exec irb -r ./console'执行此操作

这个IRB控制台启动很好,让我可以访问我的模型数据,但没有记录历史记录。

1)为什么heroku运行控制台如此绝对? 2)如何让我的控制台会话登录历史记录?

请?

由于

2 个答案:

答案 0 :(得分:2)

将以下行添加到Procfile

console: bundle exec irb -r ./console

保持历史记录并不容易,因为它会为每次新调用启动一个dyno(雪松堆栈也不会保留Rails控制台的历史记录)。您可以尝试使用rlwrap将历史记录保存在本地计算机上。

答案 1 :(得分:0)

来自docs

  

您可以使用heroku控制台作为Rails脚本运行器的替身   直接从命令行运行一次性命令

  

如果没有参数,heroku console将启动交互式控制台   类似于irb或Rails script/console命令

run console旨在运行Rails控制台或irb