Rakeのtask名にaliasを設定する

The alias of task name in rake

シンプルなやり方.

# Rakefile
namespace :db do
    task :table do
        puts "table"
    end
end
  
task :t => ["db:table"]
$ rake t
# -> "table"

複数のタスクを一気に登録したい場合は,以下のようなメソッドを準備する.

# Rakefile
def alias_tasks tasks
    tasks.each do |new, old|
        task new, [*Rake.application[old].arg_names] => [old]
    end
end

namespace :db do
    task :table do
        puts "table"
    end
    
    task :schema do
        puts "schema"
    end
end

alias_tasks [
             [:dt, "db:table"],
             [:ds, "db:schema"]
             ]                                      
$ rake ds
# -> schema