gpt4 book ai didi

ruby-on-rails - 如何在每个 db :reset 之后执行 "rake task"

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:48 24 4
gpt4 key购买 nike

我正在做一个个人项目,我有一个奇怪的疑问。在本地主机上,我几乎每次都执行 rake db:reset 并且我总是需要运行另一个名为 newsworker:create 的任务(换句话说,我运行 rake新闻 worker :创建)。

我的问题是:

  1. 如何在每次 rake db:reset 后执行特定的 rake 任务?
  2. 我如何概括上述问题以处理 rake db:create 和其他任务?

谢谢!

最佳答案

在我看来,最好的方法是创建自己的 rake 任务,调用所有需要的任务(以避免更改 Rails/Rake 基本任务):

# lib/tasks/reset_and_create
namespace :database do
desc 'Reset the database to a fresh and clean DB ready for use'
task :reset_and_create do
Rake::Task['db:reset'].invoke
Rake::Task['newsworker:create'].invoke
# if you need to pass arguments to your tasks, use:
# Rake::Task['your_task'].invoke(your_arg, another_arg)
end
end

然后像这样使用它:

rake database:reset_and_create

关于ruby-on-rails - 如何在每个 db :reset 之后执行 "rake task",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com