运行 rails Capistrano 部署的应用程序中的控制台

running rails console in Capistrano deployed app

我已经使用 Capistrano 向 AWS 部署了一个 Rails 应用程序,现在我正在尝试启动 Rails 控制台,但无法启动。如果我进入 home/user/app-name/current/ 并尝试 运行ning rails c,我只会得到有关如何使用 rails 命令的说明。

或者,我需要 运行 一个命令,特别是 Searchkick 命令 ClassName.reindex 有没有办法在不打开控制台的情况下执行此操作?

看看这些,如果您觉得它们有帮助,请告诉我。

https://github.com/ydkn/capistrano-rails-console

https://gist.github.com/benedikt/1115513

rails c 可能会失败,因为您在已部署的应用程序中缺少 bin/rails。请参阅此答案以获取修复:

一旦您 bin/rails 开始工作,您可以 运行 不使用控制台的命令,如下所示:

bundle exec rails runner ClassName.reindex

runner Rails 命令加载您的应用程序并评估您提供的任何 Ruby 代码。

根据您完成部署的方式,您可能需要明确指定环境,如下所示:

bundle exec rails runner -e production ClassName.reindex