Die gerieflikste maniere om transaksies binne die Nest.js + TypeORM -stapel te skryf

Blog

In baie gevalle moet ontwikkelaars transaksies gebruik wanneer hulle verskillende bewerkings op die bediener uitvoer. Byvoorbeeld - 'n oordrag van geld, of ander meetbare waarde, en nog baie meer.



Met sulke operasies wil ek regtig nie 'n fout ontvang wat die proses sal onderbreek en die integriteit van die data sal skend nie.

Wat is 'n transaksie in elk geval? Wikipedia sê:



AAN databasis transaksie simboliseer 'n eenheid van werk wat uitgevoer word binne 'n databasisbestuurstelsel (of soortgelyke stelsel) teen 'n databasis, en op 'n samehangende en betroubare manier behandel word, onafhanklik van ander transaksies. 'N Transaksie verteenwoordig in die algemeen enige verandering in 'n databasis.

Transaksies in 'n databasisomgewing het twee hoofdoelwitte:



  1. Om betroubare werkeenhede te verskaf wat korrekte herstel van mislukkings moontlik maak en 'n databasis konsekwent hou, selfs in gevalle van stelselfout, wanneer die uitvoering stop (heeltemal of gedeeltelik) en baie operasies op 'n databasis onvoltooid bly, met 'n onduidelike status.
  2. Om isolasie te bied tussen programme wat gelyktydig toegang tot 'n databasis het. As hierdie isolasie nie verskaf word nie, is die uitkomste van die programme moontlik verkeerd.

Oorweeg nou 'n situasie waarin 'n fout kan voorkom, wat tot baie onaangename gevolge kan lei as u nie transaksies gebruik nie.

Ek het 'n klein projek gemaak waarin twee entiteite bestaan:

  • Gebruiker
  • Beursie

Gebruikers kan geld na mekaar oorplaas. By die oordrag word die genoegsaamheid van die bedrag op die saldo van die sender nagegaan, asook baie ander tjeks. As 'n situasie ontstaan ​​wanneer die geld uit die sender se saldo gedebiteer is, maar nie na die rekening van die ontvanger oorgedra is nie, of andersom, sien ons 'n baie hartseer, kwaad persoon, of ons sal nie 'n baie gelukkige persoon sien nie ( hang af van die oordragbedrag ).

#nodejs #nestjs #typescript #npm #typeorm

hackernoon.com

Die gerieflikste maniere om transaksies binne die Nest.js + TypeORM -stapel te skryf

Die gerieflikste maniere om transaksies binne die Nest.js + TypeORM -stapel te skryf. As u probleme ondervind met transaksies in Nest.js - sal hierdie artikel u help. Ontwikkelaars moet transaksies gebruik wanneer hulle verskillende bewerkings op die bediener uitvoer.