/** * @param InputInterface $input * @param OutputInterface $output * @throws Exception * @returns null */ protected function execute(InputInterface $input, OutputInterface $output) { if (!Check::fileToUrlMapping()) { die('ERROR: Please set a valid path in $_FILE_TO_URL_MAPPING before running the seeder' . PHP_EOL); } if (SiteTree::has_extension('SiteTreeLinkTracking')) { SiteTree::remove_extension('SiteTreeLinkTracking'); } // Customer overrides delete to check for admin // major hack to enable ADMIN permissions // login throws cookie warning, this will hide the error message error_reporting(0); try { if ($admin = Member::default_admin()) { $admin->logIn(); } } catch (Exception $e) { } error_reporting(E_ALL); $writer = new RecordWriter(); if ($input->getOption('batch')) { $batchSize = intval($input->getOption('size')); $writer = new BatchedSeedWriter($batchSize); } $seeder = new Seeder($writer, new CliOutputFormatter()); $className = $input->getOption('class'); $key = $input->getOption('key'); if ($input->getOption('force')) { $seeder->setIgnoreSeeds(true); } $seeder->seed($className, $key); return; }