为什么rake db:migrate:reset没有在rake -T中列出?
为什么一些rake任务没有被rake -T
列出? 像db:migrate:reset
? 我可以执行它没有问题,但为什么不在那里列出? 有没有办法得到一个真正的完整列表的任务?
%rake -T (在/ home / zeus / projects / my_project中) rake about#列出所有Rails框架和环境的版本 rake db:create#从config / database.yml中为当前的Rails.env创build数据库(使用db:create:all创buildconfiguration中的所有dbs) rake db:drop#删除当前Rails.env的数据库(使用db:drop:all删除所有数据库) rake db:fixtures:load#将Fixture加载到当前环境的数据库中。 rake db:migrate#迁移数据库(选项:VERSION = x,VERBOSE = false)。 rake db:migrate:status#显示迁移的状态 rake db:rollback#将模式恢复到以前的版本(指定步骤w / STEP = n)。 rake db:schema:dump#创build一个db / schema.rb文件,该文件可以轻松地用于AR支持的任何数据库 rake db:schema:load#将一个schema.rb文件加载到数据库中 rake db:seed#从db / seeds.rb中加载种子数据 rake db:setup#创build数据库,加载模式,并使用种子数据进行初始化(使用db:reset也可以首先删除数据库) rake db:structure:dump#将数据库结构转储到一个SQL文件 rake db:version#检索当前的模式版本号 rake文档:app#为应用程序生成文档 - 也可以使用doc:rails,doc:guides,doc:plugins(options:TEMPLATE = / rdoc-template.rb,TITLE =“Custom Title”) rake erd#根据您的模型生成一个实体关系图 rake log:clear#将日志中的所有* .log文件截断为零字节 耙中间件#打印出您的Rack中间件堆栈 耙注#枚举所有注释(使用注意:优化,:fixme,:todo焦点) rake notes:custom#枚举自定义注释,用ANNOTATION = CUSTOM指定 rake rails:template#应用LOCATION = / path / to / template提供的模板 耙路轨:更新#从Rails更新configuration和公共/ JavaScripts(或只使用更新:JavaScript的或更新:configuration) 耙路由#按照匹配顺序打印出所有定义的路由,并带有名称。 rake secret#生成密码安全密钥(通常用于为cookie会话生成密码)。 rake spec#运行spec目录下的所有规格(不包括插件规格) rake spec:acceptance#运行spec / acceptance中的代码示例 rake spec:controllers#在spec / controllers中运行代码示例 rake spec:helpers#在spec / helpers中运行代码示例 rake spec:lib#在spec / lib中运行代码示例 rake spec:mailers#运行规范/邮件程序中的代码示例 rake spec:models#在spec / models中运行代码示例 rake spec:rcov#使用rcov运行所有规格 rake spec:requests#在spec / requests中运行代码示例 rake spec:routing#在spec / routing中运行代码示例 rake spec:views#运行规范/视图中的代码示例 耙统计#从应用程序报告代码统计(KLOC等) 耙testing#运行testing:单位,testing:函数,testing:集成在一起(也可用:testing:基准,testing:configuration文件,testing:插件) 耙testing:近期#运行最近的testingtesting:准备/testing最近的变化 耙testing:未提交#运行testing未提交的testing:准备/testing自上次签入以来的变化(只有Subversion和Git) rake time:zones:all#显示所有时区,也可用:time:zones:us,time:zones:local - 带OFFSET参数的filter,例如OFFSET = -6 rake tmp:clear#清除tmp /(narrow w / tmp:sessions:clear,tmp:cache:clear,tmp:sockets:clear)中的会话,caching和套接字文件。 rake tmp:create#为会话,caching,套接字和pid创buildtmp目录
没有说明的任务不会显示出来。
编辑:看起来像DHH从Rails 3中删除了一些任务的描述,以“减less噪音”。 耙db:安装程序有一个关于db:注意虽然。
http://github.com/rails/rails/commit/983815632cc1d316c7c803a47be28f1abe6698fb
您也可以使用rake db -T -A
显示所有任务,甚至是未注释的任务。 为了便于参考,这些交换机正在执行以
-T, --tasks [PATTERN] Display the tasks (matching optional PATTERN) with descriptions, then exit. -A, --all Show all tasks, even uncommented ones (in combination with -T or -D)
你可以使用rake -P | grep rake
rake -P | grep rake
显示所有Rake任务的名称。
作为ThomasObermüller的回答,由于-T标志需要一个位置参数,为了得到'db'命名空间任务(至less在rake 10.0.3中),你需要这样做: rake -T db -A
在这个WIKI上 – Ruby on Rails / ActiveRecord / Migrations,你可以find更多的信息。
对于Windows用户,你做这个耙 – P | find“耙”