Выполнение db:test :prepare из другой задачи rake

Я пытаюсь выполнить rake db:test:prepareиз другой задачи

namespace :db do
  namespace :populate do
    desc "Seed development database"
    task development: :environment do
      puts "Kill local server"
      %x{ ps xauwww | grep -i --regex="[t]hin" | awk '{print $2}' | xargs kill }
      puts "Resetting development database"
      Rake::Task['db:reset'].execute
      puts "Migrating development database"
      Rake::Task['db:migrate'].execute
      puts "Populating development database"
      Rake::Task['db:populate'].execute
      puts "Pepare test database"
      Rake::Task['db:test:prepare'].execute
      puts "Start local server"
      system 'thin -d start'
    end
   …
end

Использование вызова вместо выполнения не помогает. Кажется, работает нормально, если я определяю его сам по себе :

task example: :environment do
  Rake::Task['db:test:prepare'].execute
end

Когда я запускаю rake db:populate:development, выполняются все задачи, кроме Rake::Task['db:test:prepare'].execute. в журнале разработки нет активности для этой команды, но это не мешает Не запускать следующую задачу (запуск сервера). Обычно я вижу некоторые операторы SQL, когда запускаю db:test:prepareсам по себе.

Примечания:

$ rails -v
Rails 3.2.2

$ ruby -v
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin11.3.0]

$ uname -a
Darwin hook 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64
7
задан jrhorn424 19 March 2012 в 09:35
поделиться