【问题标题】:Heroku Cedar Stack and command heroku run consoleHeroku Cedar Stack 和命令 heroku 运行控制台
【发布时间】:2012-04-26 14:09:40
【问题描述】:

在我在 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) 如何让我的控制台会话记录到历史记录?

请?

谢谢

【问题讨论】:

  • 我认为 keroku 运行控制台主要是为 RoR 应用程序制作的。

标签: heroku console sinatra irb cedar


【解决方案1】:

将以下行添加到您的Procfile

console: bundle exec irb -r ./console

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

【讨论】:

  • 有趣。谢谢康斯坦丁,我会尝试使用 Procfile。到目前为止,这一切都没有一个。
【解决方案2】:

来自docs

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2014-12-18
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    相关资源
    最近更新 更多