/**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $io = new DrupalStyle($input, $output);
     // Database options
     $dbType = $input->getOption('db-type');
     $dbFile = $input->getOption('db-file');
     $dbHost = $input->getOption('db-host');
     $dbName = $input->getOption('db-name');
     $dbUser = $input->getOption('db-user');
     $dbPass = $input->getOption('db-pass');
     $dbPrefix = $input->getOption('db-prefix');
     $dbPort = $input->getOption('db-port');
     $databases = $this->site->getDatabaseTypes();
     if ($dbType === 'sqlite') {
         $database = array('database' => $dbFile, 'prefix' => $dbPrefix, 'namespace' => $databases[$dbType]['namespace'], 'driver' => $dbType);
     } else {
         $database = array('database' => $dbName, 'username' => $dbUser, 'password' => $dbPass, 'prefix' => $dbPrefix, 'port' => $dbPort, 'host' => $dbHost, 'namespace' => $databases[$dbType]['namespace'], 'driver' => $dbType);
     }
     $this->backupSitesFile($io);
     try {
         $this->runInstaller($io, $input, $database);
     } catch (Exception $e) {
         $output->error($e->getMessage());
         return;
     }
     $this->restoreSitesFile($io);
 }