From 755978397a8d0bacbfe81f7240b1e3ff3b9b23af Mon Sep 17 00:00:00 2001
From: Amit Bera <dev.amitbera@gmail.com>
Date: Sun, 7 Jan 2018 12:17:58 +0530
Subject: [PATCH] Newsletter Model Subcriber LoadByEmail does not - Use MYSQL
 index - Add an Mysql Index key via upgrade Schema - files  add  at
 app/code/Magento/Newsletter/Setup/UpgradeScheme.php - Modified at
 app/code/Magento/Newsletter/etc/module.xml

---
 .../Newsletter/Setup/UpgradeSchema.php        | 37 +++++++++++++++++++
 app/code/Magento/Newsletter/etc/module.xml    |  2 +-
 2 files changed, 38 insertions(+), 1 deletion(-)
 create mode 100644 app/code/Magento/Newsletter/Setup/UpgradeSchema.php

diff --git a/app/code/Magento/Newsletter/Setup/UpgradeSchema.php b/app/code/Magento/Newsletter/Setup/UpgradeSchema.php
new file mode 100644
index 00000000000..4edd5f4ac9b
--- /dev/null
+++ b/app/code/Magento/Newsletter/Setup/UpgradeSchema.php
@@ -0,0 +1,37 @@
+<?php
+namespace Magento\Newsletter\Setup;
+
+
+use Magento\Framework\Setup\ModuleContextInterface;
+use Magento\Framework\Setup\SchemaSetupInterface;
+use Magento\Framework\Setup\UpgradeSchemaInterface;
+/**
+ * Upgrade the Newsletter module DB scheme
+ */
+class UpgradeSchema implements  UpgradeSchemaInterface
+{
+
+    /**
+     * Upgrades DB schema for a module
+     *
+     * @param SchemaSetupInterface $setup
+     * @param ModuleContextInterface $context
+     * @return void
+     */
+    public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)
+    {
+        $setup->startSetup();
+
+        if (version_compare($context->getVersion(), '2.0.1', '<')) {
+            $connection = $setup->getConnection();
+
+            $connection->addIndex(
+                $setup->getTable('newsletter_subscriber'),
+                $setup->getIdxName('newsletter_subscriber', ['subscriber_email']),
+                ['subscriber_email']
+            );
+        }
+
+        $setup->endSetup();
+    }
+}
\ No newline at end of file
diff --git a/app/code/Magento/Newsletter/etc/module.xml b/app/code/Magento/Newsletter/etc/module.xml
index f3384452252..5da16a9a3e9 100644
--- a/app/code/Magento/Newsletter/etc/module.xml
+++ b/app/code/Magento/Newsletter/etc/module.xml
@@ -6,7 +6,7 @@
  */
 -->
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
-    <module name="Magento_Newsletter" setup_version="2.0.0">
+    <module name="Magento_Newsletter" setup_version="2.0.1">
         <sequence>
             <module name="Magento_Store"/>
             <module name="Magento_Customer"/>
-- 
GitLab