transaction<T> static method
Implementation
static Future<T> transaction<T>(
Future<T> Function(DBTransaction trx) callback,
) async {
await _ensureConnected();
final connection = instance;
await connection.beginTransaction();
try {
final trx = DBTransaction(connection);
final result = await callback(trx);
await connection.commit();
return result;
} catch (e, stack) {
await connection.rollback();
Log.error('❌ Transaction failed', error: e, stackTrace: stack);
rethrow;
}
}