vendor/store.shopware.com/spnonewslettereconomy/src/SpnoNewsletterEconomy.php line 24

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\NewsletterEconomy;
  8. use Doctrine\DBAL\Connection;
  9. use Shopware\Core\Framework\Plugin;
  10. use Shopware\Core\Framework\Plugin\Context\UninstallContext;
  11. use Spno\NewsletterEconomy\Entity\Newsletter\Aggregate\NewsletterTranslationDefinition;
  12. use Spno\NewsletterEconomy\Entity\Newsletter\NewsletterDefinition;
  13. use Spno\NewsletterEconomy\Entity\NewsletterOrder\NewsletterOrderDefinition;
  14. use Spno\NewsletterEconomy\Entity\NewsletterRedirect\NewsletterRedirectDefinition;
  15. use Spno\NewsletterEconomy\Entity\NewsletterSender\Aggregate\NewsletterSenderTranslationDefinition;
  16. use Spno\NewsletterEconomy\Entity\NewsletterSender\NewsletterSenderDefinition;
  17. use Spno\NewsletterEconomy\Entity\NewsletterStatistics\NewsletterStatisticsDefinition;
  18. use Spno\NewsletterEconomy\Entity\NewsletterStatisticsDetails\NewsletterStatisticsDetailsDefinition;
  19. use Spno\NewsletterEconomy\Entity\NewsletterStream\Aggregate\NewsletterStreamFilter\NewsletterStreamFilterDefinition;
  20. use Spno\NewsletterEconomy\Entity\NewsletterStream\NewsletterStreamDefinition;
  21. class SpnoNewsletterEconomy extends Plugin
  22. {
  23.     public function uninstall(UninstallContext $uninstallContext): void
  24.     {
  25.         if ($uninstallContext->keepUserData()) {
  26.             parent::uninstall($uninstallContext);
  27.             return;
  28.         }
  29.         /** @var Connection $connection */
  30.         $connection $this->container->get(Connection::class);
  31.         $entities = [
  32.             NewsletterSenderTranslationDefinition::ENTITY_NAME,
  33.             NewsletterTranslationDefinition::ENTITY_NAME,
  34.             NewsletterRedirectDefinition::ENTITY_NAME,
  35.             NewsletterStatisticsDefinition::ENTITY_NAME,
  36.             NewsletterStatisticsDetailsDefinition::ENTITY_NAME,
  37.             NewsletterStreamFilterDefinition::ENTITY_NAME,
  38.             NewsletterOrderDefinition::ENTITY_NAME,
  39.             NewsletterDefinition::ENTITY_NAME,
  40.             NewsletterStreamDefinition::ENTITY_NAME,
  41.             NewsletterSenderDefinition::ENTITY_NAME,
  42.         ];
  43.         foreach ($entities as $entityName) {
  44.             $connection->executeStatement(\sprintf('DROP TABLE IF EXISTS `%s`'$entityName));
  45.         }
  46.     }
  47. }