/**
* Mark/unmark migrations as migrated
*
* If <u>all</u> is given as version, all available migrations are marked
* as requested.
*
* @param string $version The migration to execute
* @param boolean $add The migration to mark as migrated
* @param boolean $delete The migration to mark as not migrated
* @return void
* @throws \InvalidArgumentException
* @see neos.flow:doctrine:migrate
* @see neos.flow:doctrine:migrationstatus
* @see neos.flow:doctrine:migrationexecute
* @see neos.flow:doctrine:migrationgenerate
*/
public function migrationVersionCommand($version, $add = false, $delete = false)
{
if (!$this->isDatabaseConfigured()) {
$this->outputLine('Doctrine migration not possible, the driver and host backend options are not set in /Configuration/Settings.yaml.');
$this->quit(1);
}
if ($add === false && $delete === false) {
throw new \InvalidArgumentException('You must specify whether you want to --add or --delete the specified version.');
}
try {
$this->doctrineService->markAsMigrated($version, $add ?: false);
} catch (MigrationException $exception) {
$this->outputLine($exception->getMessage());
$this->quit(1);
}
}