setName('zone:version:add') ->setDescription('Add a zone version') ->addArgument('zone_id', InputArgument::REQUIRED, 'Zone ID'); } protected function execute(InputInterface $input, OutputInterface $output) { parent::execute($input, $output); $zoneId = (int) $this->getInput()->getArgument('zone_id'); $zone = ZoneQuery::create()->findOneById($zoneId); if (null === $zone) { $this->getOutput()->writeln('Zone not found.'); return; } (new ZoneVersion()) ->setVersion($zone->countZoneVersions() ? ZoneVersionQuery::create()->orderByVersion(Criteria::DESC)->findOne()->getVersion() + 1 : 1) ->setZone($zone) ->setIsActive(false) ->save(); $this->getOutput()->writeln('Zone version added.'); } }