rake任务详解

kevin.Zhu 发布于:2020-3-4 12:40 分类:文摘  有 12 人浏览,获得评论 0 条  

https://www.jianshu.com/p/c3726939682d


  • rake简介:
    rake的意思是ruby make, 是一个强大的代码构建工具。

  • 作用:
    1.以任务的方式创建和运行脚本。
    2.追踪和管理任务之间的依赖。
    如:migrate 任务和schema:dump任务都依赖于“connect_to_database”任务, 在migrate任务调用之前,“connect_to_database”任务会被执行。

  • rails中的rake任务
    rails预定义了大量的rake任务,在rails中,所有的rake任务都被放在rails目录下的lib/tasks目录下,以.rake作为后缀名,这些文件会自动加载到你的环境中。

  • 举例说明:
    简单:

desc "买菜" task :purchaseVegetables do puts "买菜" end 

依赖关系(要做饭 必须先买菜)

desc "做饭" task :cook => :purchaseVegetables do puts "做饭" end 

调用其他任务:

desc "今天的任务" task :today do Rake::Task["home:cook"].invoke Rake::Task["home:laundry"].invoke end namespace :home do …… end 

调用其他任务,只需要

Rake::Task["home:cook"].invoke Rake::Task["home:laundry"].invoke 

注意:invoke即使循环也只会执行一次,如果需要执行n次,需要使用execute执行

关于命名空间的声明:
migrate任务的命名空间是db,所以用rake db:migrate来引用。


作者:biubiudog
链接:https://www.jianshu.com/p/c3726939682d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。