本文整理汇总了PHP中Doctrine_Migration::setCurrentVersion方法的典型用法代码示例。如果您正苦于以下问题:PHP Doctrine_Migration::setCurrentVersion方法的具体用法?PHP Doctrine_Migration::setCurrentVersion怎么用?PHP Doctrine_Migration::setCurrentVersion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine_Migration
的用法示例。
在下文中一共展示了Doctrine_Migration::setCurrentVersion方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testMigration
public function testMigration()
{
$migration = new Doctrine_Migration('migration_classes');
$this->assertFalse($migration->hasMigrated());
$migration->setCurrentVersion(3);
$migration->migrate(0);
$this->assertEqual($migration->getCurrentVersion(), 0);
$this->assertEqual($migration->getLatestVersion(), 4);
$this->assertEqual($migration->getNextVersion(), 5);
$current = $migration->getCurrentVersion();
$migration->setCurrentVersion(100);
$this->assertEqual($migration->getCurrentVersion(), 100);
$migration->setCurrentVersion($current);
$migration->migrate(3);
$this->assertTrue($migration->hasMigrated());
$this->assertEqual($migration->getCurrentVersion(), 3);
$this->assertTrue($this->conn->import->tableExists('migration_phonenumber'));
$this->assertTrue($this->conn->import->tableExists('migration_user'));
$this->assertTrue($this->conn->import->tableExists('migration_profile'));
$migration->migrate(4);
$this->assertFalse($this->conn->import->tableExists('migration_profile'));
$migration->migrate(0);
$this->assertEqual($migration->getCurrentVersion(), 0);
$this->assertTrue($migration->getMigrationClass(1) instanceof AddPhonenumber);
$this->assertTrue($migration->getMigrationClass(2) instanceof AddUser);
$this->assertTrue($migration->getMigrationClass(3) instanceof AddProfile);
$this->assertTrue($migration->getMigrationClass(4) instanceof DropProfile);
$this->assertFalse($this->conn->import->tableExists('migration_phonenumber'));
$this->assertFalse($this->conn->import->tableExists('migration_user'));
$this->assertFalse($this->conn->import->tableExists('migration_profile'));
}
示例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']);
$intValidator = new sfValidatorInteger();
$migration->setCurrentVersion($arguments['version']);
$this->logSection('doctrine', 'Migration version set to ' . $arguments['version']);
}
示例3: actionSetMigrationVersion
/**
* Set a current migration version, without doing an actual migration.
* Useful when fixing bugs, testing etc.
*/
private function actionSetMigrationVersion() {
$version = $this->getDestinationVersion();
// Show information about current and latest available version
$this->showMigrationVersions();
printf("Setting migration version: %s\n", ($this->cli->command->args['version'] === null ? 'latest' : $version));
if ($version > $this->getLatestVersion()) {
printf("Warning: version provided (%d) greater than latest available migration (%d), Cthulhu will eat you!\n", $version, $this->getLatestVersion());
}
// Dry run? Stop here. If not, process.
if ($this->cli->options['dryrun'] === true) return;
$this->migration->setCurrentVersion($version);
}
示例4: execute
protected function execute($arguments = array(), $options = array())
{
// initialize the database connection
$databaseManager = new sfDatabaseManager($this->configuration);
$connection = $databaseManager->getDatabase($options['connection'])->getConnection();
$config = $this->getCliConfig();
$migration = new Doctrine_Migration($config['migrations_path']);
$from = $migration->getCurrentVersion();
$new_version = $arguments['new_version'];
if ($new_version !== $from) {
$migration->setCurrentVersion($new_version);
}
$this->log('Current migration version is ' . $new_version);
}
示例5: execute
/**
* @see sfTask
*/
protected function execute($arguments = array(), $options = array())
{
$databaseManager = new sfDatabaseManager($this->configuration);
$migration = new Doctrine_Migration();
$currentVersion = $migration->getCurrentVersion();
if (!isset($arguments['version'])) {
$this->logSection('doctrine', 'Current migration version is ' . $currentVersion);
} else {
$version = $arguments['version'];
if (!is_numeric($version)) {
$this->logSection('doctrine', 'Unknown version ' . $version, null, 'ERROR');
return;
}
$migration->setCurrentVersion($version);
$this->logSection('doctrine', 'Current migration version was forced to ' . $version);
}
}
示例6: 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());
}
示例7: setCurrentVersion
/**
* Set the current version of the database
*
* @param integer $number
* @return void
*/
public function setCurrentVersion($number)
{
$this->_migration->setCurrentVersion($number);
}