/** * Prepare and create triggers for target_table table */ protected function _createTriggers() { $sqlTrigger = $this->_factory->getMagentoDbSqlTrigger(); foreach ($sqlTrigger->getEventTypes() as $event) { $body = $this->_prepareBody($event); // Set trigger's data $sqlTrigger->reset(); $sqlTrigger->setTarget($this->_targetTable); $sqlTrigger->setEvent($event); $objTrigger = $this->_factory->getMagentoDbObjectTrigger($this->_connection, $sqlTrigger->getName()); // Drop trigger before insert with updated body if ($objTrigger->isExists()) { $objTrigger->drop(); } // Create trigger only if trigger's body is not empty if (!empty($body)) { $sqlTrigger->setBody($body); $this->_connection->query((string) $sqlTrigger); } } }