J'ai un rails 2.2 projet dans lequel je veux remplacer la fonctionnalité de la "rake db:test:préparer" de la tâche. J'ai pensé que ce serait le travail:
#lib/tasks/db.rake
namespace :db do
namespace :test do
desc "Overridden version of rails' standard db:test:prepare task since the schema dump used in that can't handle DB enums"
task :prepare => [:environment] do
puts "doing db:structure:dump"
Rake::Task['db:structure:dump'].invoke
puts "doing db:test:clone_structure"
Rake::Task['db:test:clone_structure'].invoke
end
end
end
mais ça ne marche pas, j'obtiens la tâche standard de comportement. si je change le nom de la tâche en :prepare2
puis effectuez l' rake db:test:prepare2
alors qu'elle fonctionne très bien. La conclusion naturelle-je tirer de ceci est que mon rake tâches sont définies avant la rails, donc le mien est remplacée par la norme :préparer la tâche.
Quelqu'un peut-il voir comment je peux résoudre ce problème? Je préfère le remplacer que d'avoir à utiliser une nouvelle tâche. Merci, max