<?php declare(strict_types=1);
/*
* (c) webpiloten. <kontakt@web-piloten.de>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Spno\NewsletterEconomy;
use Doctrine\DBAL\Connection;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\UninstallContext;
use Spno\NewsletterEconomy\Entity\Newsletter\Aggregate\NewsletterTranslationDefinition;
use Spno\NewsletterEconomy\Entity\Newsletter\NewsletterDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterOrder\NewsletterOrderDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterRedirect\NewsletterRedirectDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterSender\Aggregate\NewsletterSenderTranslationDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterSender\NewsletterSenderDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterStatistics\NewsletterStatisticsDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterStatisticsDetails\NewsletterStatisticsDetailsDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterStream\Aggregate\NewsletterStreamFilter\NewsletterStreamFilterDefinition;
use Spno\NewsletterEconomy\Entity\NewsletterStream\NewsletterStreamDefinition;
class SpnoNewsletterEconomy extends Plugin
{
public function uninstall(UninstallContext $uninstallContext): void
{
if ($uninstallContext->keepUserData()) {
parent::uninstall($uninstallContext);
return;
}
/** @var Connection $connection */
$connection = $this->container->get(Connection::class);
$entities = [
NewsletterSenderTranslationDefinition::ENTITY_NAME,
NewsletterTranslationDefinition::ENTITY_NAME,
NewsletterRedirectDefinition::ENTITY_NAME,
NewsletterStatisticsDefinition::ENTITY_NAME,
NewsletterStatisticsDetailsDefinition::ENTITY_NAME,
NewsletterStreamFilterDefinition::ENTITY_NAME,
NewsletterOrderDefinition::ENTITY_NAME,
NewsletterDefinition::ENTITY_NAME,
NewsletterStreamDefinition::ENTITY_NAME,
NewsletterSenderDefinition::ENTITY_NAME,
];
foreach ($entities as $entityName) {
$connection->executeStatement(\sprintf('DROP TABLE IF EXISTS `%s`', $entityName));
}
}
}