Rake 是一套类似 Make 的 Builder 工具,让我们可以编写一些脚本任务,并且很方便设定各任务的相依性。在 Rails 之中就內建了许多 rake 指令,除了你已经使用过的 rake db:migrate 之外,还有例如

rake db:migrate
rake db:drop
rake tmp:clear
rake notes

输入 rake -T 看到所有的 rake 指令。而要在 Rails 环境中编写 Rake,请将附文件名为 .rake 的文件放在 lib/tasks 目录下即可,例如:/lib/tasks/dev.rake

# encoding: utf-8
namespace :dev do
  desc "Rebuild system"
  task :build => ["tmp:clear", "log:clear", "db:drop", "db:create", "db:migrate", :setup ]
  desc "Setup system data"
  task :setup => :environment do
      puts "Create system user"
      u = User.new( :login => "root", :password => "password", :email => "root@example.com", :name => "管理员")
      u.is_admin = true
      u.save!
  end
end

透过执行 rake dev:build,就会自动清除 log 文档,砍掉资料库,执行migrate,然后执行 rake dev:setup 建立一个使用者。


参考自:http://ihower.tw/rails3/rails-recipes.html