Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DropElement.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Framework\Setup\Declaration\Schema\Db\AdapterMediator;
16 
23 {
27  const OPERATION_NAME = 'drop_element';
28 
32  private $dbSchemaWriter;
33 
37  private $definitionAggregator;
38 
45  public function __construct(
46  DbSchemaWriterInterface $dbSchemaWriter,
47  DefinitionAggregator $definitionAggregator
48  ) {
49  $this->dbSchemaWriter = $dbSchemaWriter;
50  $this->definitionAggregator = $definitionAggregator;
51  }
52 
56  public function getOperationName()
57  {
58  return self::OPERATION_NAME;
59  }
60 
64  public function isOperationDestructive()
65  {
66  return true;
67  }
68 
72  public function doOperation(ElementHistory $elementHistory)
73  {
77  $element = $elementHistory->getNew();
78 
79  return [
80  $this->dbSchemaWriter->dropElement(
81  $element->getTable()->getResource(),
82  $element->getName(),
83  $element->getTable()->getName(),
84  $element->getType()
85  )
86  ];
87  }
88 }
__construct(DbSchemaWriterInterface $dbSchemaWriter, DefinitionAggregator $definitionAggregator)
Definition: DropElement.php:45
$element
Definition: element.phtml:12