Ruby on rails 如何在每次db:reset之后执行“rake任务”
我在做一个私人项目,我有一个奇怪的疑问。在本地主机上,我几乎每次都执行rake db:reset,并且我总是需要运行另一个名为newsweer:create的任务,换句话说,我运行rake newsweer:create 我的问题是: 如何在每次rake db:reset之后执行特定的rake任务? 如何将上述问题推广到rakedb:create和其他任务?Ruby on rails 如何在每次db:reset之后执行“rake任务”,ruby-on-rails,ruby,ruby-on-rails-3,rake,Ruby On Rails,Ruby,Ruby On Rails 3,Rake,我在做一个私人项目,我有一个奇怪的疑问。在本地主机上,我几乎每次都执行rake db:reset,并且我总是需要运行另一个名为newsweer:create的任务,换句话说,我运行rake newsweer:create 我的问题是: 如何在每次rake db:reset之后执行特定的rake任务? 如何将上述问题推广到rakedb:create和其他任务? 谢谢 在我看来,最好的方法是创建自己的rake任务,调用避免更改Rails/rake基本任务所需的所有任务: # lib/tasks/re
谢谢 在我看来,最好的方法是创建自己的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
在我看来,最好的方法是创建自己的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
谢谢但有一个简短的问题:如果我可以将任务添加到:数据库名称空间,我可以覆盖默认的db:reset任务吗?我认为您可以,但我认为您不应该这样做。我不确定您是否可以安全地在:db名称空间中创建任务。好的,我希望有更多知识的人能够回答我的评论中的这个问题。无论如何,谢谢你对官方问题的回答:谢谢!但有一个简短的问题:如果我可以将任务添加到:数据库名称空间,我可以覆盖默认的db:reset任务吗?我认为您可以,但我认为您不应该这样做。我不确定您是否可以安全地在:db名称空间中创建任务。好的,我希望有更多知识的人能够回答我的评论中的这个问题。无论如何,谢谢你对官方问题的回答: