Junior — Middle
Vai jums ir pieredze ar transakciju pārvaldību datu bāzēs vai sistēmās?
sobes.tech AI
Atbilde no AI
Jā, transakciju pārvaldība ir svarīga datu bāzu darba sastāvdaļa, īpaši, lai nodrošinātu datu integritāti.
Node.js parasti izmanto bibliotēkas kā Sequelize, TypeORM vai tieši vadītājus (piemēram, PostgreSQL).
Piemērs, kā pārvaldīt transakciju, izmantojot async/await un Sequelize bibliotēku:
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;
}
}
Šeit visas darbības transakcijas ietvaros tiek veiksmīgi izpildītas kopā, vai, ja rodas kļūda, tās tiek atceltas, novēršot daļēju datu atjaunināšanu.