транзакция kohana с orm

возможно ли (как) использовать транзакции mysql и откаты с помощью kohana ORM?

Операции SQL в Kohana 3.x выполняются не так, как в 2.x. В классе 3.x класс базы данных содержит методы транзакций:

$db->begin(); $db->commit(); $db->rollback(); 

Это также работает, если вы используете материал ORM. Просто запустите транзакцию до того, как ORM сохранит, обновит, a или удалит.

Подробнее в этой статье: http://dev.strategystar.net/2011/10/sql-transactions-with-kohana-3-x/

В 2.x транзакции должны выполняться вручную:

 $this->db->query("START TRANSACTION") 

Ознакомьтесь с официальными форумами . В нем показан пример использования транзакций с Ko3:

 $db->query(NULL, 'TRANSACTION START'); // Do stuff $db->query(NULL, 'COMMIT'); 

Как это сделать с версией 2, я не знаю. Я по-прежнему новичок в кохане и изучаю Ko3, а не 2. Но я предполагаю, что это очень похоже.

Я создал модуль Kohana, который упрощает использование транзакций:

https://github.com/brazzy/kohana-transactional

Однако для этого требуется, по крайней мере, Kohana 3.1. Но тогда вы просто добавляете

 public $_transactional = true; 

к контроллеру, и все действия автоматически выполняются внутри транзакции, которая откатывается при сбое действия с исключением.