Skip to content

Commit

Permalink
Merge pull request #1737 from mailchimp/Issue1732-2.3
Browse files Browse the repository at this point in the history
closes #1732 for magento 2.3
  • Loading branch information
gonzaloebiz authored Jul 13, 2023
2 parents 1aa6394 + 3fbe580 commit 0904aa1
Showing 1 changed file with 38 additions and 19 deletions.
57 changes: 38 additions & 19 deletions Setup/UpgradeData.php
Original file line number Diff line number Diff line change
Expand Up @@ -186,28 +186,47 @@ public function upgrade(ModuleDataSetupInterface $setup, ModuleContextInterface
$config->getResource()->delete($config);
}
}
if (version_compare($context->getVersion(), '102.3.52') < 0) {
if (version_compare($context->getVersion(), '102.3.53') < 0) {
$setup->startSetup();
$connection = $this->_resource->getConnectionByName('default');
$syncCollection = $this->syncCollectionFactory->create();
$syncCollection->addFieldToFilter('type', ['eq'=>'ORD']);
foreach($syncCollection as $item) {
try {
$order = $this->orderFactory->create()->loadByAttribute('entity_id', $item->getRelatedId());
$order->setMailchimpSent($item->getMailchimpSent());
$order->setMailchimpSyncError($item->getMailchimpSyncError());
$order->save();
} catch (\Exception $e) {
$this->_helper->log($e->getMessage());
}
try {
$tableOrders = $setup->getTable('sales_order');
$tableEcommerce = $setup->getTable('mailchimp_sync_ecommerce');
$query = "UPDATE `$tableOrders` as A ";
$query .= "INNER JOIN `$tableEcommerce` as B ON A.`entity_id` = B.`related_id` ";
$query .= "SET A.`mailchimp_sync_error` = B.`mailchimp_sync_error`, A.`mailchimp_sent` = B.`mailchimp_sent` ";
$query .= "WHERE B.`type` = 'ORD'";
$connection->query($query);

} catch(\Exception $e) {
$this->_helper->log($e->getMessage());
throw new \Exception($e->getMessage());
}
try {
$tableOrdersGrid = $setup->getTable('sales_order_grid');
$tableEcommerce = $setup->getTable('mailchimp_sync_ecommerce');
$query = "UPDATE `$tableOrdersGrid` as A ";
$query .= "INNER JOIN `$tableEcommerce` as B ON A.`entity_id` = B.`related_id` ";
$query .= "SET A.`mailchimp_sync_error` = B.`mailchimp_sync_error`, A.`mailchimp_sent` = B.`mailchimp_sent` ";
$query .= "WHERE B.`type` = 'ORD'";
$connection->query($query);

} catch(\Exception $e) {
$this->_helper->log($e->getMessage());
throw new \Exception($e->getMessage());
}
try {
$tableProducts = $setup->getTable('catalog_product_entity');
$tableEcommerce = $setup->getTable('mailchimp_sync_ecommerce');
$query = "UPDATE `$tableProducts` as A ";
$query .= "INNER JOIN `$tableEcommerce` as B ON A.`entity_id` = B.`related_id` ";
$query .= "SET A.`mailchimp_sync_error` = B.`mailchimp_sync_error`, A.`mailchimp_sent` = B.`mailchimp_sent` ";
$query .= "WHERE B.`type` = 'PRO'";
$connection->query($query);
} catch(\Exception $e) {
$this->_helper->log($e->getMessage());
throw new \Exception($e->getMessage());
}
$tableProducts = $setup->getTable('catalog_product_entity');
$tableEcommerce = $setup->getTable('mailchimp_sync_ecommerce');
$query = "UPDATE `$tableProducts` as A ";
$query.= "INNER JOIN `$tableEcommerce` as B ON A.`entity_id` = B.`related_id` ";
$query.= "SET A.`mailchimp_sync_error` = B.`mailchimp_sync_error`, A.`mailchimp_sent` = B.`mailchimp_sent` ";
$query.= "WHERE B.`type` = 'PRO'";
$connection->query($query);
}
}
}

0 comments on commit 0904aa1

Please sign in to comment.