Junior — Middle
Avez-vous de l'expérience dans la gestion des transactions dans des bases de données ou des systèmes?
sobes.tech IA
Réponse de l'IA
Oui, la gestion des transactions est une partie importante du travail avec les bases de données, en particulier pour assurer l'intégrité des données.
Dans Node.js, on utilise généralement des bibliothèques pour travailler avec les bases de données, comme Sequelize, TypeORM ou directement les pilotes (par exemple, pour PostgreSQL).
Exemple de gestion de transaction avec async/await et la bibliothèque 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;
}
}
Ici, toutes les opérations dans la transaction sont effectuées avec succès ensemble, ou en cas d'erreur, elles sont annulées, ce qui empêche les mises à jour partielles des données.