我想调用迁移中的雷神任务。有了rake,我可以写
def self.up
Rake::Task["db:rollback"].invoke
end但是我怎么能用雷神做到这一点呢?(雷神命令是“雷神db:回滚”) (thor db:rollback不是一个选项,所以我希望看到输出,脚本应该在出现错误时中止)
更新:从Thorfile调用迁移
它看起来是这样的:
require 'active_record'
class Db < Thor
desc "migrate", "description ..."
def migrate
ActiveRecord::Migrator.migrate(MIGRATIONS_PATH)
end
end发布于 2010-11-11 22:21:15
假设db:rollback引用Db类的rollback任务,那么您可以这样做:
script = Db.new
script.invoke(:rollback)您可以在文档中阅读更多内容:http://rdoc.info/github/wycats/thor/master/Thor/Base/ClassMethods#start-instance_method
https://stackoverflow.com/questions/4155229
复制相似问题