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

时间:2015-06-25 16:55:57

标签: ruby-on-rails capistrano

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

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

2 个答案:

答案 0 :(得分:3)

由于您在已部署的应用中缺少rails c

bin/rails可能会失败。请参阅此答案以获取修复:Rails 4 doesn't detect application after capistrano deployment

一旦你bin/rails工作,就可以在不使用控制台的情况下运行命令:

bundle exec rails runner ClassName.reindex

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

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

bundle exec rails runner -e production ClassName.reindex

答案 1 :(得分:1)

看看这些,让我们知道你是否觉得它们有用。

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

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