Запуск задачи Thor из миграции - PullRequest
1 голос
/ 11 ноября 2010

Я хочу вызвать задачу из Миграции. С граблями могу написать

def self.up
  Rake::Task["db:rollback"].invoke
end

Но как я могу сделать это с тор? (Команда tor - "thor db: откат") (thor db:rollback не вариант, я хочу, чтобы увидеть вывод и сценарий должен прервать ошибки)

UPDATE: Миграция называется из Торфиле

Это выглядит так:

require 'active_record'
class Db < Thor
  desc "migrate", "description ..."
  def migrate
    ActiveRecord::Migrator.migrate(MIGRATIONS_PATH)
  end
end

1 Ответ

2 голосов
/ 11 ноября 2010

Если предположить, что db:rollback относится к задаче rollback класса Db, то вы можете сделать это:

script = Db.new
script.invoke(:rollback)

Более подробно вы можете прочитать в документации: http://rdoc.info/github/wycats/thor/master/Thor/Base/ClassMethods#start-instance_method

...