本文整理匯總了PHP中Doctrine_Migration::hasErrors方法的典型用法代碼示例。如果您正苦於以下問題:PHP Doctrine_Migration::hasErrors方法的具體用法?PHP Doctrine_Migration::hasErrors怎麽用?PHP Doctrine_Migration::hasErrors使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Doctrine_Migration
的用法示例。
在下文中一共展示了Doctrine_Migration::hasErrors方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testMigrateClearsErrors
public function testMigrateClearsErrors()
{
$migration = new Doctrine_Migration('migration_classes');
$migration->setCurrentVersion(3);
try {
$migration->migrate(3);
} catch (Doctrine_Migration_Exception $e) {
$this->assertTrue($migration->hasErrors());
$this->assertEqual(1, $migration->getNumErrors());
}
try {
$migration->migrate(3);
} catch (Doctrine_Migration_Exception $e) {
$this->assertTrue($migration->hasErrors());
$this->assertEqual(1, $migration->getNumErrors());
}
$migration->clearErrors();
$this->assertFalse($migration->hasErrors());
$this->assertEqual(0, $migration->getNumErrors());
}
示例2: execute
/**
* @see sfTask
*/
protected function execute($arguments = array(), $options = array())
{
$databaseManager = new sfDatabaseManager($this->configuration);
$config = $this->getCliConfig();
$migration = new Doctrine_Migration($config['migrations_path']);
$from = $migration->getCurrentVersion();
if (is_numeric($arguments['version'])) {
$version = $arguments['version'];
} else {
if ($options['up']) {
$version = $from + 1;
} else {
if ($options['down']) {
$version = $from - 1;
} else {
$version = $migration->getLatestVersion();
}
}
}
if ($from == $version) {
$this->logSection('doctrine', sprintf('Already at migration version %s', $version));
return;
}
$this->logSection('doctrine', sprintf('Migrating from version %s to %s%s', $from, $version, $options['dry-run'] ? ' (dry run)' : ''));
try {
$migration->migrate($version, $options['dry-run']);
} catch (Exception $e) {
}
// render errors
if ($migration->hasErrors()) {
if ($this->commandApplication && $this->commandApplication->withTrace()) {
$this->logSection('doctrine', 'The following errors occurred:');
foreach ($migration->getErrors() as $error) {
$this->commandApplication->renderException($error);
}
} else {
$this->logBlock(array_merge(array('The following errors occurred:', ''), array_map(create_function('$e', 'return \' - \'.$e->getMessage();'), $migration->getErrors())), 'ERROR_LARGE');
}
return 1;
}
$this->logSection('doctrine', 'Migration complete');
}