<?php declare(strict_types=1);
/**
* valantic CEC Deutschland GmbH
* Copyright (c) 2022.
*
* All rights reserved.
*
* @see https://www.valantic.com/
*
* @author sw6
* Date: 13.01.2022 08:20
*/
namespace Valantic\SalesChannelProductData;
use Doctrine\DBAL\Connection;
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\ActivateContext;
use Shopware\Core\Framework\Plugin\Context\UninstallContext;
class ValSalesChannelProductData extends Plugin
{
public function activate(ActivateContext $activateContext): void
{
$connection = $this->container->get(Connection::class);
$connection->executeStatement('
INSERT INTO val_product_data (id, product_visibility_id, sales, stock, available_stock, is_closeout, available, created_at, release_date)
SELECT pv.id , pv.id as product_visibility_id, p.sales, p.stock, p.available_stock, p.is_closeout, p.available, NOW(), p.release_date
FROM product_visibility pv
INNER JOIN product p on pv.product_id = p.id
LEFT JOIN val_product_data vpd ON vpd.product_visibility_id = pv.id
WHERE vpd.id IS NULL
');
}
public function uninstall(UninstallContext $uninstallContext): void
{
parent::uninstall($uninstallContext);
if ($uninstallContext->keepUserData()) {
return;
}
$connection = $this->container->get(Connection::class);
// Delete 'val-product_data' table
$connection->executeStatement('
DROP TABLE IF EXISTS val_product_data
');
}
}