Hello Caleb,
I've also tried doing: ActiveRecord::Base.transation do %x[rake migrate] end
But this, obviously, doesn't work since %x[rake migrate] spanws a new process outside of the scope of the transactioning.
Any ideas?
To invoke a Rake task in a migration, you can do :
def self.up Rake::Task[my_task].invoke end
I have tried with : Rake::Task['stats'].invoke and it works. However, it can be dangerous, what will happen with a Rake::Task['db:migrate'] ? infinite loop ? it could be a mess... I think a rake db task would work, but you have to be careful.
HTH, -- Jean-François.