Rake - 如何在Rails迁移错误时停止任务?

3
有没有一种方法可以在调用Rails迁移任务时使rake停止执行?现在它会直接运行每一个任务。我真正想要的是尝试删除,然后尝试创建,在这两个任务都成功之后,再运行迁移,如果seed也成功了,就停止并显示错误,如果有任何失败,则停止并显示错误。
我已经尝试对每个任务进行调用并测试结果,但那似乎也不正确。
谢谢。
task :fresh_start => [
  'db:drop',
  'db:create',
  'db:migrate',
  'db:seed'] do
end
1个回答

1
默认情况下,Rake 会在第一个异常被引发时停止。例如,以下内容永远不会打印出"That"。
task :this do
  puts "This"
  raise "Fail!"
end

task :that do
  puts "That"
end

task :default => [:this,:that]

这不是你想要的吗?


那将是理想的。我正在调用Rails迁移任务,但它们似乎不会在内部抛出异常。 - evets
1
我认为我真正需要的是从Rails任务中已知的返回值:比如,当执行Rake::Task['db:drop']时,如果db:drop返回失败、成功或其他状态码。 - evets

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接