I need to write a rake task that invokes other rake tasks. Can do that fine but cannot work out the syntax for tasks that take arguments. For example db:migrate. How would I give it a version? I've tried the following, but the argument is ignored: Rake::Task['db:migrate'].invoke(:version=>'20090106012227') Thanks in advance....
on 2009-01-09 04:53
on 2009-01-11 10:52
> For example db:migrate. How would I give it a version? Maybe add to ENV? -=r
on 2009-01-12 13:25
i didn't get that work either. did anyone have success with that? so far, my personal workaround is to make system-calls (which is not very nice).
on 2009-01-14 09:40
well for db:migrate modifying ENV works very well, but if you want to pass a certain RAILS_ENV it seems to be impossible from inside an active rails-app. you'll have to go with system calls. system('rake db:drop RAILS_ENV=test') but ENV['VERSION']= '0' Rake::Task['db:migrate'].invoke so far even on tha rake mailing-list no other option occurred.