Junior — Middle
Máte skúsenosti s riadením transakcií v databázach alebo systémoch?
sobes.tech AI
Odpoveď od AI
Áno, správa transakcií je dôležitou súčasťou práce s databázami, najmä na zabezpečenie integrity dát.
V Node.js sa zvyčajne používajú knižnice ako Sequelize, TypeORM alebo priamo ovládače (napríklad pre PostgreSQL).
Príklad správy transakcie s použitím async/await a knižnice 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;
}
}
Tu sa všetky operácie v rámci transakcie vykonajú úspešne spoločne, alebo v prípade chyby sú vrátené späť, čím sa zabraňuje čiastočným aktualizáciám dát.