I usually run my rake tasks in production in this sequence
```
require 'rake'
Rails.application.load_tasks
Rake::Task[task_name]
```
Often repeating the same three commands over and over again. Tedious.
Then I researched how I can make this better.
And I just found that IRB now has a new way of extending the Rails console, here , instead of the old `Rails::ConsoleMethods`, which will be deprecated in Rails 8
Here's how I added command that is now executable from my Rails console:
1. Create a new file in `lib/irb_commands/run_rake_task.rb`
2. Have the following code in it
``` require "irb/command"
# Run "help run_rake_task" to see the help message
module IrbCommands class RunRakeTask < IRB::Command::Base category "Rails" description "Run a Rake task" help_message <<~HELP Run a Rake task from within the Rails console.
Usage: run_rake_task <task_name> [arg1 arg2 ...]
Examples: run_rake_task db:migrate run_rake_task "my:task[arg1,arg2]" HELP
def execute(*args) task_name = args.shift raise ArgumentError, "Task name is required" if task_name.nil?
if args.empty? task.invoke else task.invoke(*args) end rescue => e Rails.logger.error("Error running rake task '#{task_name}': #{e.message}") Rails.logger.error(e.backtrace.join("\n")) ensure task&.reenable end end end