Sobes.tech
Junior — Middle

Kas teil on kogemusi andmebaaside või süsteemide tehingute haldamisel?

sobes.tech AI

Vastus AI-lt

Jah, tehingute haldamine on oluline osa andmebaasidega töötamisel, eriti andmete terviklikkuse tagamiseks.

Node.js-is kasutatakse tavaliselt teeke nagu Sequelize, TypeORM või otse draivereid (näiteks PostgreSQL jaoks).

Näide tehingu haldamisest kasutades async/await ja Sequelize teeki:

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;
  }
}

Siin täidetakse kõik tehingu sees olevad toimingud edukalt koos või tühistatakse, vältides osalisi andmevärskendusi.