/** * 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); } }