Sobes.tech
Junior — Middle

Tem experiência na gestão de transações em bases de dados ou sistemas?

sobes.tech IA

Resposta da IA

Sim, a gestão de transações é uma parte importante do trabalho com bases de dados, especialmente para garantir a integridade dos dados.

No Node.js, normalmente usam-se bibliotecas para trabalhar com bases de dados, como Sequelize, TypeORM ou diretamente controladores (por exemplo, para PostgreSQL).

Exemplo de gestão de transação usando async/await e a biblioteca Sequelize:

const { sequelize } = require('./models');

async function performTransaction() {
  const t = await sequelize.transaction();
  try {
    await User.create({ name: 'John' }, { transaction: t });
    await Order.create({ userId: 1, total: 100 }, { transaction: t });
    await t.commit();
  } catch (error) {
    await t.rollback();
    throw error;
  }
}

Aqui, todas as operações dentro da transação são realizadas com sucesso juntas, ou em caso de erro, são revertidas, o que impede atualizações parciais de dados.