/** * Create trigger * * @param \Magento\Framework\DB\Ddl\Trigger $trigger * @throws \Zend_Db_Exception * @return \Zend_Db_Statement_Pdo */ public function createTrigger(\Magento\Framework\DB\Ddl\Trigger $trigger) { if (!$trigger->getStatements()) { throw new \Zend_Db_Exception( (string)new \Magento\Framework\Phrase( 'Trigger %1 has not statements available', [$trigger->getName()] ) ); } $statements = implode("\n", $trigger->getStatements()); $sql = sprintf( "CREATE TRIGGER %s %s %s ON %s FOR EACH ROW\nBEGIN\n%s\nEND", $trigger->getName(), $trigger->getTime(), $trigger->getEvent(), $trigger->getTable(), $statements ); return $this->multiQuery($sql); }
/** * Create trigger * * @param \Magento\Framework\DB\Ddl\Trigger $trigger * @throws ErrorException * @return StatementInterface */ public function createTrigger(\Magento\Framework\DB\Ddl\Trigger $trigger) { if (!$trigger->getStatements()) { throw new ErrorException(sprintf(__('Trigger %s has not statements available'), $trigger->getName())); } $statements = implode("\n", $trigger->getStatements()); $sql = sprintf("CREATE TRIGGER %s %s %s ON %s FOR EACH ROW\nBEGIN\n%s\nEND", $trigger->getName(), $trigger->getTime(), $trigger->getEvent(), $trigger->getTable(), $statements); return $this->query($sql); }
/** * Test getStatements method */ public function testGetStatements() { $this->assertEquals([], $this->_object->getStatements()); }