Sobes.tech
Junior — Middle

Դուք ունե՞ք տվյալների բազաների կամ համակարգերի գործարքների կառավարում փորձառություն։

sobes.tech AI

Պատասխան AI-ից

Այո, գործարքների կառավարումը կարևոր մաս է տվյալների բազաներով աշխատելու գործում, հատկապես տվյալների ամբողջականությունը ապահովելու համար:

Node.js-ում սովորաբար օգտագործվում են գրադարաններ, ինչպիսիք են Sequelize, TypeORM կամ ուղղակի վարորդներ (օրինակ՝ PostgreSQL-ի համար):

Օրինակ՝ գործարքի կառավարում async/await և 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;
  }
}

Այստեղ՝ բոլոր գործողությունները տրանզակցիայում հաջողությամբ կատարվում են միասին, կամ սխալի դեպքում՝ հետ են բերվում, ինչը կանխում է մասնակի տվյալների թարմացումները։