Cuando tenemos que actualizar varias tablas, insertando, borrando o actualizando varios registros en cada una de las mismas y cuya integridad puede estar en riesgo en caso de que una de las operaciones falle, nos es crítico el uso de transacciones.
Si estamos usando Symfony y el orm Propel, con mySql e innodb, podemos hacer lo siguiente:
$con = Propel::getConnection();
try {
//abrimos la transacción
$con->beginTransaction();
//operaciones pertinentes contra la base de datos
//si todo va bien guardamos los cambios
$con->commit();
} catch (Exception $e) {
// Hacemos rollback de los cambios en caso de fallo
$con->rollback();
//devolvemos el error al depurador
throw $e;
}
Saludos, Asier Marqués
— Posted by admin | Posted in Desarrollo web | Posted on 26 diciembre, 2009




[...] This post was mentioned on Twitter by Asier Marqués, BlackSlot. BlackSlot said: Transacciones con Propel 1.3 y Symfony >= 1.2 http://blackslot.com/blog/2009/12/transacciones-con-propel-1-3-y-symfony-1-2/ [...]
Pingback de Tweets that mention Transacciones con Propel 1.3 y Symfony >= 1.2 | Blackslot Blog -- Topsy.com — 26 diciembre, 2009 @ 20:26