Para evitar cuidar de um fantasma, prefiro verificar se a noção de transação pode existir no GraphQL .
Digamos que eu tenha isso:
mutation save_changes {
change01 {
}
change02 {
}
}
Existe a possibilidade de change01
ser revertido se change02
falhar?
GraphQL é a tecnologia API enquanto a transação é uma tecnologia DB. Como o GraphQL é agnóstico em relação à(s) fonte(s) de dados usada para recuperar e persistir os dados, é bastante normal que o GraphQL não defina nada relacionado à transação do banco de dados e com certeza nunca fará isso no futuro. Caso contrário, o GraphQL só funcionará com a fonte de dados que suporta transações que violam seu princípio de design agnóstico de fonte de dados. Portanto, cabe aos desenvolvedores definir e implementar como será o comportamento transacional.