protected function execute(InputInterface $input, OutputInterface $output) { // Warn that this is experimental $output->writeln("<error>\n\nWARNING THIS IS AN EXPERIMENTAL FEATURE\n</error>\n"); // Check if export file can be created $files = $input->getOption('file'); if (empty($files)) { throw new \RuntimeException('The --file option is required.'); } // See if we're going to continue if ($this->checkContinue($input, $output) === false) { return; } // Get the Bolt Import migration object $import = new Import($this->app); $import->setMigrationFiles($files)->checkMigrationFilesValid(true)->checkMigrationFilesExist('import')->importMigrationFiles(); if ($import->getError()) { foreach ($import->getErrorMessages() as $error) { $output->writeln("<error>{$error}</error>"); } $output->writeln("\n<error>Aborting import!</error>\n"); return; } if ($import->getWarning()) { foreach ($import->getWarningMessages() as $warning) { $output->writeln("<comment>{$warning}</comment>"); } return; } if ($import->getNotice()) { foreach ($import->getNoticeMessages() as $notice) { $output->writeln("<info>{$notice}</info>"); } return; } // Report finish $filenames = join(', ', $files); $output->writeln("\n<info>Records imported from {$filenames}</info>"); }