<?php declare(strict_types=1);
namespace AlphaplanEntityConnector;
use Doctrine\DBAL\Connection;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\UninstallContext;
use Shopware\Core\Framework\Plugin\Context\InstallContext;
class AlphaplanEntityConnector extends Plugin
{
public function install(InstallContext $context): void
{
$this->cleanUpTables();
parent::install($context);
}
public function uninstall(UninstallContext $context): void
{
parent::uninstall($context);
if ($context->keepUserData()) {
return;
}
$this->cleanUpTables();
}
private function cleanUpTables(){
//Clean up the DB Structure
$connection = $this->container->get(Connection::class);
$connection->executeStatement('DROP FUNCTION IF EXISTS `UuidToBin`;');
$connection->executeStatement('DROP PROCEDURE IF EXISTS `ap_calcpreis_shopware`;');
$connection->executeStatement('DROP PROCEDURE IF EXISTS `ap_vkpreis_shopware`;');
$connection->executeStatement('DROP PROCEDURE IF EXISTS `ap_rabatt_shopware`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_einheiten`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_verkaufs_preis_gruppen_preise`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_verkaufspreis_ergebnisse`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_verkaufspreis_prioritaeten`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_verkaufs_preise`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_einheiten_sets`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_kalkulations_arten`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_rabatt_prioritaeten`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_rabatt_zielfelder`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_rabatt_ergebnisse`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_rabatte`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_artikel_zuschlaege`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_konfiguration`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_artikeleumehrwertsteuern`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_warengruppeneumehrwertsteuern`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_product`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_tax`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_currency`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_customer_group`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_language`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_product_manufacturer`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_country`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_category`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_unit`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_payment_method`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_customer`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_customer_address`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_product_price`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_salutation`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_media`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_property_group`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_property_group_option`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_shipping_method`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_order_line_item`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_belege`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_einheiten_texte`;');
$connection->executeStatement('DROP TABLE IF EXISTS `cvs_sales_channel`;');
}
}