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.