Bom dia,
O erro fala que você está tentando usar uma transação que já foi encerrada (commit has been called on this transaction), e isso acontece quando:
- Você tenta executar uma nova query depois do
transaction.commit() ou transaction.rollback(). - Ou há awaits fora de ordem dentro da transação, e o controle da transação se perde.
Soluções possíveis:
- Verifique se todas as queries estão dentro do bloco
transaction e antes do commit(). - Evite
await fora da ordem ou dentro de callbacks, como then() ou funções aninhadas. - Atualize o Sequelize para uma versão compatível com o curso (caso esteja usando uma mais recente).
- Use
transaction-managed corretamente, por exemplo:
await sequelize.transaction(async (t) => {
await Pessoa.update(..., { transaction: t });
});
Se o curso usa uma versão mais antiga do Sequelize, use a mesma versão para evitar problemas com mudanças de comportamento.