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>");
}