本文整理汇总了PHP中DataSource::rollback方法的典型用法代码示例。如果您正苦于以下问题:PHP DataSource::rollback方法的具体用法?PHP DataSource::rollback怎么用?PHP DataSource::rollback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataSource
的用法示例。
在下文中一共展示了DataSource::rollback方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
/**
* Run migration
*
* @param string $direction, up or down direction of migration process
* @return boolean Status of the process
*/
public function run($direction)
{
if (!in_array($direction, array('up', 'down'))) {
throw new MigrationException($this, sprintf(__d('migrations', 'Migration direction (%s) is not one of valid directions.'), $direction), E_USER_NOTICE);
}
$this->direction = $direction;
$null = null;
$this->db = ConnectionManager::getDataSource($this->connection);
$this->db->cacheSources = false;
$this->db->begin($null);
$this->Schema = new CakeSchema(array('connection' => $this->connection));
try {
$this->_invokeCallbacks('beforeMigration', $direction);
$result = $this->_run();
$this->_clearCache();
$this->_invokeCallbacks('afterMigration', $direction);
if (!$result) {
return false;
}
} catch (Exception $e) {
$this->db->rollback($null);
throw $e;
}
return $this->db->commit($null);
}
示例2: run
/**
* Run
*
* @return void
*/
public function run()
{
$null = null;
$this->db = ConnectionManager::getDataSource($this->connection);
$this->db->cacheSources = false;
$this->db->begin($null);
if (!isset($this->args[0]) || !in_array($this->args[0], array('insert', 'remove'))) {
$this->out(__d('SoftDelete', 'Invalid option'));
return $this->_displayHelp(null);
}
if (!isset($this->args[1])) {
$this->out(__d('SoftDelete', 'You missed field name.'));
return $this->_displayHelp(null);
}
try {
$this->_run($this->args[0], $this->args[1]);
$this->_clearCache();
} catch (Exception $e) {
$this->db->rollback($null);
throw $e;
}
$this->out(__d('SoftDelete', 'All tables are updated.'));
$this->out('');
return $this->db->commit($null);
}
示例3: rollback
/**
* Rollback a transaction
*
* @param model $model
* @return boolean True on success, false on fail
* (i.e. if the database/model does not support transactions,
* or a transaction has not started).
* @access public
*/
function rollback(&$model)
{
if (parent::rollback($model) && $this->execute($this->_commands['rollback'])) {
$this->_transactionStarted = false;
return true;
}
return false;
}