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.