Sobes.tech
Junior — Middle

Máte zkušenosti s používáním transakcí ve svých projektech?

sobes.tech AI

Odpověď od AI

Ano, v projektech Node.js jsem používal transakce, zejména při práci s databázemi jako PostgreSQL nebo MySQL. Transakce umožňují spojit několik operací do jedné atomické jednotky, takže buď jsou všechny změny aplikovány, nebo žádná, což je důležité pro zachování integrity dat.

Příklad použití transakce s knihovnou pg pro PostgreSQL:

const { Client } = require('pg');

async function performTransaction() {
  const client = new Client();
  await client.connect();
  try {
    await client.query('BEGIN');
    await client.query('INSERT INTO users(name) VALUES($1)', ['Alice']);
    await client.query('INSERT INTO accounts(user_id, balance) VALUES($1, $2)', [1, 100]);
    await client.query('COMMIT');
  } catch (e) {
    await client.query('ROLLBACK');
    throw e;
  } finally {
    await client.end();
  }
}

Pokud jedna z operací selže, všechny změny jsou vráceny zpět.