Skip to main content

Transactions

The first argument of a function generated by def-db-fns can take a database spec, a connection, a connection pool, or a transaction object. Use your underlying database library to get a transaction object. Here's an example with clojure.java.jdbc/with-db-transaction:

(clojure.java.jdbc/with-db-transaction [tx db]
(characters/insert-character tx
{:name "Miracle Max", :specialty "miracles"})
(characters/insert-character tx
{:name "Valerie", :specialty "speech interpreter"}))