Sobes.tech
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.