Rake 任务 `[] => %w[ensure_review_app environment, db:seed ]` 在做什么?
Rake task what is `[] => %w[ensure_review_app environment, db:seed ]` doing?
有人可以向我解释下面的 task :seed
是做什么的吗?特别是列出 ensure_review_app、环境等的 []=>%w[]
部分?我认识到 db:seed
正在为数据库播种,但对其他人在做什么感到困惑。
task :seed, [] => %w[
ensure_review_app
environment
db:seed
seed:administrator
seed:widgets
] do
Rails.logger.tagged('Seed App') { |l| l.info("Finished seeding new Review App: #{ENV['HEROKU_APP_NAME']}") }
end
耙子文件:
namespace :review_app do
desc 'Ensure environment is one we shish to spread seed in'
task :ensure_review_app do
abort 'This is not a Heroku Review App' unless review_app?
end
desc 'Seeds a review app with a subset of realistic-looking data'
task :seed, [] => %w[
ensure_review_app
environment
db:seed
seed:administrator
seed:widgets
] do
Rails.logger.tagged('Seed App') { |l| l.info("Finished seeding new Review App: #{ENV['HEROKU_APP_NAME']}") }
end
def review_app?
!!ENV['HEROKU_PARENT_APP_NAME']
end
end
在这里找到:https://gist.github.com/stevenharman/98576bf49b050b9e59fb26626b7cceff
我以为ensure_review_app可能是一个文件,是heroku命令吗?
此处提到的其他内容是您正在查看的任务的 prerequisites。 IE。它们是 运行 在 运行 任务之前 运行 的其他耙子任务 运行。
它们的格式有点奇怪 ([] => %w[...]
),因为任务指定任务没有参数。您可以在 rake 文档的 Tasks that Expect Parameters and Have Prerequisites 部分看到它。
通常您会在任务名称后直接看到先决条件,例如:
task seed: %w[ensure_review_app environment db:seed ... ]
当您选择 运行 具有 rake review_app:seed
的任务时,它将首先 运行 所有其他先决条件任务,然后 运行 review_app:seed
任务.
您可以在您发布的较长代码段中看到 ensure_review_app
任务。它在做 heroku 的事情,但它只是一个像其他任何任务一样的 rake 任务。
您应该能够使用以下命令列出任何 rake 任务:
rake -T task_name
对于没有描述的任务,您可能需要使用 -A
:
rake -A -T task_name
有人可以向我解释下面的 task :seed
是做什么的吗?特别是列出 ensure_review_app、环境等的 []=>%w[]
部分?我认识到 db:seed
正在为数据库播种,但对其他人在做什么感到困惑。
task :seed, [] => %w[
ensure_review_app
environment
db:seed
seed:administrator
seed:widgets
] do
Rails.logger.tagged('Seed App') { |l| l.info("Finished seeding new Review App: #{ENV['HEROKU_APP_NAME']}") }
end
耙子文件:
namespace :review_app do
desc 'Ensure environment is one we shish to spread seed in'
task :ensure_review_app do
abort 'This is not a Heroku Review App' unless review_app?
end
desc 'Seeds a review app with a subset of realistic-looking data'
task :seed, [] => %w[
ensure_review_app
environment
db:seed
seed:administrator
seed:widgets
] do
Rails.logger.tagged('Seed App') { |l| l.info("Finished seeding new Review App: #{ENV['HEROKU_APP_NAME']}") }
end
def review_app?
!!ENV['HEROKU_PARENT_APP_NAME']
end
end
在这里找到:https://gist.github.com/stevenharman/98576bf49b050b9e59fb26626b7cceff
我以为ensure_review_app可能是一个文件,是heroku命令吗?
此处提到的其他内容是您正在查看的任务的 prerequisites。 IE。它们是 运行 在 运行 任务之前 运行 的其他耙子任务 运行。
它们的格式有点奇怪 ([] => %w[...]
),因为任务指定任务没有参数。您可以在 rake 文档的 Tasks that Expect Parameters and Have Prerequisites 部分看到它。
通常您会在任务名称后直接看到先决条件,例如:
task seed: %w[ensure_review_app environment db:seed ... ]
当您选择 运行 具有 rake review_app:seed
的任务时,它将首先 运行 所有其他先决条件任务,然后 运行 review_app:seed
任务.
您可以在您发布的较长代码段中看到 ensure_review_app
任务。它在做 heroku 的事情,但它只是一个像其他任何任务一样的 rake 任务。
您应该能够使用以下命令列出任何 rake 任务:
rake -T task_name
对于没有描述的任务,您可能需要使用 -A
:
rake -A -T task_name