vendor/store.shopware.com/spnonewsletterbusiness/src/SpnoNewsletterBusiness.php line 17

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. /*
  3.  * (c) webpiloten. <kontakt@web-piloten.de>
  4.  * For the full copyright and license information, please view the LICENSE
  5.  * file that was distributed with this source code.
  6.  */
  7. namespace Spno\NewsletterBusiness;
  8. use Doctrine\DBAL\Connection;
  9. use Shopware\Core\Framework\Plugin;
  10. use Spno\NewsletterBusiness\Entity\NewsletterPromotion\NewsletterPromotionDefinition;
  11. use Spno\NewsletterBusiness\Entity\NewsletterRecipientGroup\Aggregate\NewsletterRecipientGroupNewsletterRecipientDefinition;
  12. use Spno\NewsletterBusiness\Entity\NewsletterRecipientGroup\Aggregate\NewsletterRecipientGroupTranslationDefinition;
  13. use Spno\NewsletterBusiness\Entity\NewsletterRecipientGroup\NewsletterRecipientGroupDefinition;
  14. class SpnoNewsletterBusiness extends Plugin
  15. {
  16.     public function uninstall(Plugin\Context\UninstallContext $uninstallContext): void
  17.     {
  18.         if ($uninstallContext->keepUserData()) {
  19.             parent::uninstall($uninstallContext);
  20.             return;
  21.         }
  22.         /** @var Connection $connection */
  23.         $connection $this->container->get(Connection::class);
  24.         $entities = [
  25.             NewsletterPromotionDefinition::ENTITY_NAME,
  26.             NewsletterRecipientGroupNewsletterRecipientDefinition::ENTITY_NAME,
  27.             NewsletterRecipientGroupTranslationDefinition::ENTITY_NAME,
  28.             NewsletterRecipientGroupDefinition::ENTITY_NAME,
  29.         ];
  30.         foreach ($entities as $entityName) {
  31.             $connection->executeStatement(\sprintf('DROP TABLE IF EXISTS `%s`'$entityName));
  32.         }
  33.     }
  34. }