本文整理汇总了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');
}