Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SampleDataResetCommand.php
Go to the documentation of this file.
1 <?php
8 
9 use Symfony\Component\Console\Command\Command;
10 use Symfony\Component\Console\Input\InputInterface;
11 use Symfony\Component\Console\Output\OutputInterface;
13 
17 class SampleDataResetCommand extends Command
18 {
22  private $sampleDataDependency;
23 
27  private $moduleResource;
28 
32  private $packageInfo;
33 
39  public function __construct(
40  Dependency $sampleDataDependency,
41  \Magento\Framework\Module\ModuleResource $moduleResource,
42  \Magento\Framework\Module\PackageInfo $packageInfo
43  ) {
44  $this->sampleDataDependency = $sampleDataDependency;
45  $this->moduleResource = $moduleResource;
46  $this->packageInfo = $packageInfo;
47  parent::__construct();
48  }
49 
53  protected function configure()
54  {
55  $this->setName('sampledata:reset')
56  ->setDescription('Reset all sample data modules for re-installation');
57  parent::configure();
58  }
59 
63  protected function execute(InputInterface $input, OutputInterface $output)
64  {
65  $sampleDataPackages = $this->sampleDataDependency->getSampleDataPackages();
66  if (!empty($sampleDataPackages)) {
67  foreach (array_keys($sampleDataPackages) as $name) {
68  $moduleName = $this->packageInfo->getModuleName($name);
69  if ($moduleName !== null) {
70  $this->moduleResource->setDataVersion($moduleName, '');
71  }
72  }
73  $output->writeln('<info>' . 'Reset of sample data version completed successfully.' . '</info>');
74  } else {
75  $output->writeln('<info>' . 'There is no sample data for current set of modules.' . '</info>');
76  }
77  }
78 }
__construct(Dependency $sampleDataDependency, \Magento\Framework\Module\ModuleResource $moduleResource, \Magento\Framework\Module\PackageInfo $packageInfo)
execute(InputInterface $input, OutputInterface $output)
if(!isset($_GET['name'])) $name
Definition: log.php:14