Пример #1
0
 /**
  * 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;
 }