3/20/2007

Rails 的 Rake Task List

今天有人問到怎麼清 log ,結果我一直記得 Rails 的 Rakefile 可以幫你 log,不過還是忘記怎麼打了,查了一下發現只要 rake log:clear 即可。

在 Rails 裡面,預設了很多 rake 指令可以幫你輕鬆達成許多任務。這裡列出所有的 Rails Rake Task List。基本上,要叫出 Task List 只要在 Rails 資料夾下面打 rake --task ,或是 rake -T ,他就會自動幫我們叫出 Rails 下面所有的 Rake Task List。

DB 處理方面的 Task
  1. rake db:fixtures:load
    # Load fixtures into the current environment's database. Load specific fixtures using FIXTURES=x,y
  2. rake db:migrate
    使用 Database 的 migrate 功能,他會把 db/migrate 裡面寫的 script 寫入到 DB 裡面。
  3. rake db:schema:dump
    將 DB 的 Schema Dump 到 schema.rb 這個檔案裡面
  4. rake db:schema:load
    將 schema.rb Load 進入 DB 裡面
  5. rake db:sessions:clear
    假設你的 Session 是利用 CGI::Session::ActiveRecordStore 存在 DB 裡面的時候,這個指令可以清理裡面Session 的 Table
  6. rake db:sessions:create
    當你要使用 ActiveRecordStore 來存放 Session 時,你可以用這個指令來 create Session DB
  7. rake db:structure:dump
    將 DB 的 Schema Dump 到 SQL format 的檔案
  8. rake db:test:clone
    # Recreate the test database from the current environment's database schema
  9. rake db:test:clone_structure
    # Recreate the test databases from the development structure
  10. rake db:test:prepare
    # Prepare the test database and load the schema
  11. rake db:test:purge
    # Empty the test database
自動建立 RDoc
  1. rake doc:app # Build the app HTML Files
  2. rake doc:clobber_app # Remove rdoc products
  3. rake doc:clobber_plugins # Remove plugin documentation
  4. rake doc:clobber_rails # Remove rdoc products
  5. rake doc:plugins # Generate documation for all installed plugins
  6. rake doc:rails # Build the rails HTML Files
  7. rake doc:reapp # Force a rebuild of the RDOC files
  8. rake doc:rerails # Force a rebuild of the RDOC files

清理 log file
  1. rake log:clear
    清除 log file
Rails 版本 Freeze 跟 Update
  1. rake rails:freeze:edge
    把這個 Rails Package 的 version lock 到最新的 version,也就是會 copy 一份Rails包到 vernder/rails/ 資料夾底下,以後跑這個 Rails Package 就不使用系統內部的 Rails Version,而是使用 vender/rails/ 底下的 version。
    # Lock to latest Edge Rails or a specific revision with REVISION=X (ex: REVISION=4021) or a tag with TAG=Y (ex: TAG=rel_1-1-0)
  2. rake rails:freeze:gems # Lock this application to the current gems (by unpacking them into vendor/rails)
  3. rake rails:unfreeze
    如果之前使用過 rake rails:freeze:edge ,但是如果你後悔了,想要重新啟用系統裡面的 Rails Version,那就用這個指令將 vender/rails 裡面的東西清掉。
    # Unlock this application from freeze of gems or edge and return to a fluid use of system gems
  4. rake rails:update # Update both configs, scripts and public/javascripts from Rails
  5. rake rails:update:configs # Update boot/config.rb from your current rails install
  6. rake rails:update:javascripts # Update your javascripts from your current rails install
  7. rake rails:update:scripts # Add new scripts to the application script/ directory
code state
  1. rake stats
    Show 出目前 App Code 的狀況
Unit Testing 方面
  1. rake test # Test all units and functionals
  2. rake test:functionals # Run tests for functionalsdb:test:prepare
  3. rake test:integration # Run tests for integrationdb:test:prepare
  4. rake test:plugins # Run tests for pluginsenvironment
  5. rake test:recent # Run tests for recentdb:test:prepare
  6. rake test:uncommitted # Run tests for uncommitteddb:test:prepare
  7. rake test:units # Run tests for unitsdb:test:prepare
清理 tmp/ 底下的暫存檔
  1. rake tmp:cache:clear
    將所有 tmp/cache/ 裡面的東西都清理掉
  2. rake tmp:clear
    將所有 tmp/ 裡面的東西都清理掉
  3. rake tmp:create
    建立 tmp/ 資料夾,順便建立 tmp/sessions/,tmp/cache/,tmp/sockets/
  4. rake tmp:sessions:clear
    將所有 tmp/sessions/ 裡面的東西都清理掉
  5. rake tmp:sockets:clear
    將所有 tmp/sockets/ 裡面的東西都清理掉

沒有留言: