Search code examples
ruby-on-railsrubyruby-on-rails-3console

Run Rails commands outside of console


With my large application, the Rails console takes a while to load up. Is there a way to single commands more easily?

I'd also like to be able to automate stuff, and echo "query" | rails console isn't a great way to do things.

Thoughts?

EDIT: What about a long-running process that I can ping queries to whenever I have need?


Solution

  • There are two main ways to run commands outside console:

    1. Rake task which depends on :environment

    2. rails runner (previously script/runner), eg:

      $ rails runner "query"
      

    Both are pretty well documented on the rails guide: https://guides.rubyonrails.org/command_line.html#bin-rails-runner

    Both of these methods will still take the same time as a console to fire up, but they are useful for non-interactive tasks.