Returns the migration status for all packages.
public getStatus ( string $packageKey = null, string $versionNumber = null ) : array | ||
$packageKey | string | key of the package to migrate, or NULL to migrate all packages |
$versionNumber | string | version of the migration to fetch the status for (e.g. "20120126163610"), or NULL to consider all migrations |
return | array | in the format [ |
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());