/** * @covers \Magento\Setup\Module\DataSetup::updateTableRow * @expectedException \Zend_Db_Statement_Exception */ public function testUpdateTableRowNameConversion() { $original = $this->_model->getTableRow('setup_module', 'module', 'core_setup', 'schema_version'); $this->_model->updateTableRow('setup/module', 'module', 'core_setup', 'schema_version', $original); }
/** * Update Attribute Additional data * * @param int|string $entityTypeId * @param int|string $id * @param string|array $field * @param mixed $value * @return $this */ private function _updateAttributeAdditionalData($entityTypeId, $id, $field, $value = null) { $additionalTable = $this->getEntityType($entityTypeId, 'additional_attribute_table'); if (!$additionalTable) { return $this; } $additionalTableExists = $this->setup->getConnection()->isTableExists($this->setup->getTable($additionalTable)); if ($additionalTable && $additionalTableExists) { $attributeFields = $this->setup->getConnection()->describeTable($this->setup->getTable($additionalTable)); if (is_array($field)) { $bind = []; foreach ($field as $k => $v) { if (isset($attributeFields[$k])) { $bind[$k] = $this->setup->getConnection()->prepareColumnValue($attributeFields[$k], $v); } } if (!$bind) { return $this; } $field = $bind; } else { if (!isset($attributeFields[$field])) { return $this; } } $this->setup->updateTableRow($this->setup->getTable($additionalTable), 'attribute_id', $this->getAttributeId($entityTypeId, $id), $field, $value); $attribute = $this->getAttribute($entityTypeId, $id); $this->updateCachedRow($field, $value, $attribute); } return $this; }