Acho que isso não vai funcionar.
Para mim, o mais simples é executar isso duas vezes e, se der erro na segunda vez, abortar.
Dito isso, não é tão trivial quanto “executar duas vezes”.
- Você executa pela primeira vez, capturando erros em qualquer configuração específica que definir.
- Na segunda vez, você executa tudo em lote e aborta se algo falhar.
Se já estamos lidando com essa bagunça, temos que tratar casos em que há múltiplas dependências envolvidas.
Também há a questão do rollback limpo, então isso não é uma tarefa trivial de forma alguma.