protected function execute(InputInterface $input, OutputInterface $output)
{
$io = new SymfonyStyle($input, $output);
$name = str_replace('/', '\\', $input->getArgument('name'));
$this->migrator->set_output_handler(new log_wrapper_migrator_output_handler($this->language, new console_migrator_output_handler($this->user, $output), $this->phpbb_root_path . 'store/migrations_' . time() . '.log', $this->filesystem));
$this->cache->purge();
if (!in_array($name, $this->load_migrations())) {
$io->error($this->language->lang('MIGRATION_NOT_VALID', $name));
return 1;
} else {
if ($this->migrator->migration_state($name) === false) {
$io->error($this->language->lang('MIGRATION_NOT_INSTALLED', $name));
return 1;
}
}
try {
while ($this->migrator->migration_state($name) !== false) {
$this->migrator->revert($name);
}
} catch (\phpbb\db\migration\exception $e) {
$io->error($e->getLocalisedMessage($this->user));
$this->finalise_update();
return 1;
}
$this->finalise_update();
$io->success($this->language->lang('INLINE_UPDATE_SUCCESSFUL'));
}