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.