Migration::setVersion PHP Method

setVersion() public method

public setVersion ( $ver )
$ver number of new version
    function setVersion($ver)
    {
        $this->flushLogDisplayMessage();
        $this->version = $ver;
        $this->addNewMessageArea("migration_message_{$ver}");
    }

Usage Example

    $rootPath = $modx->getOption('cronmanager.core_path', null, $modx->getOption('core_path') . 'components/cronmanager/');
    $modelPath = $rootPath . 'model/';
    $loaded = $modx->loadClass('Migration', $modelPath . 'migration/', true, true);
    $migration = new Migration($modx, array('component_name' => PKG_NAME_LOWER, 'package_name' => PKG_NAME_LOWER, 'namespace' => $options['namespace'], 'migrations_path' => $rootPath . 'migrations/'));
    // Get signature
    $tmpVersion = $migration->getVersion($options);
    $name = $options['namespace'];
    $thisVersion = str_replace($name . '-', '', $tmpVersion);
    switch ($options[xPDOTransport::PACKAGE_ACTION]) {
        case xPDOTransport::ACTION_INSTALL:
            $modx->log(modX::LOG_LEVEL_INFO, 'Installing version : ' . $thisVersion);
            $modx->addPackage('cronmanager', $modelPath);
            $manager = $modx->getManager();
            $manager->createObjectContainer('modCronjob');
            $manager->createObjectContainer('modCronjobLog');
            break;
        case xPDOTransport::ACTION_UPGRADE:
            $modx->addPackage('cronmanager', $modelPath);
            // Get previously installed version
            $previousVersion = $migration->getPreviousVersion();
            $modx->log(modX::LOG_LEVEL_INFO, 'Previous version : ' . $previousVersion);
            // Lets trigger appropriate "migrations"
            $for = '1.1.5-beta';
            if (version_compare($previousVersion, $for) <= 0) {
                include_once $migration->getMigration($for);
            }
            break;
    }
    // Update the version setting
    $migration->setVersion($thisVersion);
}