code: protected function execute(InputInterface $input, OutputInterface $output)
      {
          $storage = $input->getArgument('storage');
          $shopId = $input->getOption('shop-id');
  
          // Do not convert null value to integer, because null value is fully acceptable for required method.
          if ($shopId !== null) {
              $shopId = (int)$shopId;
          }
  
          switch ($storage) {
              case SyncStorage::STORAGE_MYSQL:
                  /** @var Connection $connection */
                  $connection = $this->getContainer()->get('doctrine.dbal.default_connection');
                  /** @var StorageManagerInterface $storageManager */
                  $storageManager = $this->getContainer()
                      ->get('ongr_connections.sync.storage_manager.mysql_storage_manager');
                  break;
              default:
                  throw new InvalidArgumentException('Storage "' . $storage . '" is not implemented yet.');
          }
  
          $result = $storageManager->createStorage($shopId, $connection);
  
          if ($result === null) {
              $output->writeln('<info>Storage for ' . $storage . ' already exists.</info>');
          } elseif ($result === true) {
              $output->writeln('<info>Storage successfully created for ' . $storage . '.</info>');
          } else {
              $output->writeln('<error>Failed to create storage for ' . $storage . '.</error>');
          }
      }
docs: {@inheritdoc}