/** * {@inheritdoc} */ protected function transformData($data, $sourceDocument, $destDocument, $recordTransformer, $destinationRecords) { parent::transformData($data, $sourceDocument, $destDocument, $recordTransformer, $destinationRecords); /** @var \Magento\Framework\DB\Adapter\Pdo\Mysql $adapter */ $adapter = $this->destination->getAdapter()->getSelect()->getAdapter(); $entityType = $this->helper->getEntityTypeData('entity_type_id', $data['entity_type_id']); $incrementMaxNumber = $this->helper->getMaxIncrementForEntityType($data['entity_type_id']); if ($incrementMaxNumber === false) { return; } foreach ($this->helper->getStoreIds() as $storeId) { $tableName = $this->helper->getTableName($entityType['entity_type_table'], $storeId); $adapter->insertOnDuplicate($tableName, [$entityType['column'] => $incrementMaxNumber]); } }
/** * @param array $entityType * @param int $storeId * @return int */ protected function addDataMetaTable(array $entityType, $storeId) { $data = ['entity_type' => $entityType['entity_type_code'], 'store_id' => $storeId, 'sequence_table' => $this->helper->getTableName($entityType['entity_type_table'], $storeId)]; /** @var \Magento\Framework\DB\Adapter\Pdo\Mysql $adapter */ $adapter = $this->destination->getAdapter()->getSelect()->getAdapter(); $adapter->insert($this->helper->getTableName($this->helper->getSequenceMetaTable()), $data); return $adapter->lastInsertId($this->helper->getTableName($this->helper->getSequenceMetaTable()), 'meta_id'); }