/** * Remove subscription * * @return \Magento\Framework\Mview\View\SubscriptionInterface */ public function remove() { foreach (Trigger::getListOfEvents() as $event) { $triggerName = $this->getAfterEventTriggerName($event); /** @var Trigger $trigger */ $trigger = $this->triggerFactory->create()->setName($triggerName)->setTime(Trigger::TIME_AFTER)->setEvent($event)->setTable($this->resource->getTableName($this->getTableName())); // Add statements for linked views foreach ($this->getLinkedViews() as $view) { /** @var \Magento\Framework\Mview\ViewInterface $view */ $trigger->addStatement($this->buildStatement($event, $view->getChangelog())); } $this->connection->dropTrigger($trigger->getName()); // Re-create trigger if trigger used by linked views if ($trigger->getStatements()) { $this->connection->createTrigger($trigger); } } return $this; }