if (flagIsSet('version')) {
if (preg_match('/[0-9]{12,14}/', getFlagValue('version'), $matches) !== 1) {
outputLine('EXCEPTION: invalid version "%s" specified, please provide the 12 or 14 digit timestamp of the version you want to target.', array(getFlagValue('version')), 0, STYLE_ERROR);
exit(255);
}
$versionNumber = $matches[0];
// see https://jira.neos.io/browse/FLOW-110
if (strlen($versionNumber) === 12) {
$versionNumber .= '00';
}
}
$verbose = flagIsSet('verbose');
if (flagIsSet('status')) {
outputLine('Fetching migration status...');
try {
$status = $migrationsManager->getStatus($packageKey, $versionNumber);
} catch (\Exception $exception) {
outputLine('EXCEPTION: %s', array($exception->getMessage()), 0, STYLE_ERROR);
exit(255);
}
outputHeadline('Migration status', 1);
foreach ($status as $packageKey => $migrationsStatus) {
outputHeadline('for package "%s"', 2, array($packageKey));
foreach ($migrationsStatus as $migrationVersionNumber => $migrationStatus) {
if ($versionNumber !== null && $versionNumber != $migrationVersionNumber) {
continue;
}
/** @var AbstractMigration $migration */
$migration = $migrationStatus['migration'];
$status = $migrationStatus['state'] === Manager::STATE_MIGRATED ? 'migrated' : 'not migrated/skipped';
$migrationTitle = sprintf('%s (%s)', formatVersion($migrationVersionNumber), $migration->getIdentifier());