Como usar transações no mysql usando o Knex?
Olá. Usando a documentação do http://knexjs.org/#Transactions para usar transações, eu segui o seguinte exemplo que funciona perfeitamente:
A duvida é como que seria a transação caso cada objeto "book" tiver um array de objetos, por exemplo:
Desde já agradeço.
knex.transaction(function(trx) { const books = [ {title: 'Canterbury Tales'}, {title: 'Moby Dick'}, {title: 'Hamlet'} ]; knex.insert({name: 'Old Books'}, 'id') .into('catalogues') .transacting(trx) .then(function(ids) { books.forEach((book) => book.catalogue_id = ids[0]); return knex('books').insert(books).transacting(trx); }) .then(trx.commit) .catch(trx.rollback); }) .then(function(inserts) { console.log(inserts.length + ' new books saved.'); }) .catch(function(error) { // If we get here, that means that neither the 'Old Books' catalogues insert, // nor any of the books inserts will have taken place. console.error(error); });
A duvida é como que seria a transação caso cada objeto "book" tiver um array de objetos, por exemplo:
const books = [ {title: 'Canterbury Tales', teste: [{id:1},{id:2}]}, ];
Desde já agradeço.
Antonio Junior
Curtidas 0