0

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

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

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

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

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

请?

谢谢

4

2 回答 2

2

将以下行添加到您的Procfile

console: bundle exec irb -r ./console

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

于 2012-04-27T00:02:05.640 回答
0

文档

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

不带参数,heroku console启动类似于irb或 Railsscript/console命令的交互式控制台

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

于 2012-04-26T16:36:24.440 回答