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 => "[email protected]", :name => "管理員") u.is_admin = true u.save! end end
透過執行 rake dev:build,就會自動清除 log 文檔,砍掉資料庫,執行migrate,然後執行 rake dev:setup 建立一個使用者。
參考自:http://ihower.tw/rails3/rails-recipes.html