在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)如何让我的控制台会话登录历史记录?
请?
由于
答案 0 :(得分:2)
将以下行添加到Procfile
:
console: bundle exec irb -r ./console
保持历史记录并不容易,因为它会为每次新调用启动一个dyno(雪松堆栈也不会保留Rails控制台的历史记录)。您可以尝试使用rlwrap将历史记录保存在本地计算机上。
答案 1 :(得分:0)
来自docs:
您可以使用heroku控制台作为Rails脚本运行器的替身 直接从命令行运行一次性命令
和
如果没有参数,
heroku console
将启动交互式控制台 类似于irb
或Railsscript/console
命令
run console
旨在运行Rails控制台或irb
。