<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20230428054936 extends AbstractMigration
{
public function getDescription(): string
{
return 'Delete unused addresses';
}
public function up(Schema $schema): void
{
$this->addSql('
DELETE a FROM address a
LEFT JOIN customer c ON a.id = c.address_id
LEFT JOIN customer_quotations cq ON a.id = cq.address_id
LEFT JOIN manufacturer m ON a.id = m.address_id
LEFT JOIN manufacturer_address ma ON a.id = ma.address_id
LEFT JOIN price_inquiry pi ON a.id = pi.address_id
LEFT JOIN supplier s ON a.id = s.address_id
LEFT JOIN sample sp_in ON a.id = sp_in.inbound_address_id
LEFT JOIN sample sp_out ON a.id = sp_out.outbound_address_id
LEFT JOIN invoice i_sender ON a.id = i_sender.sender_address_id
LEFT JOIN invoice i_delivery ON a.id = i_delivery.delivery_address_id
LEFT JOIN transport t_pickup ON a.id = t_pickup.pickup_address_id
LEFT JOIN transport t_delivery ON a.id = t_delivery.delivery_address_id
WHERE c.address_id IS NULL
AND cq.address_id IS NULL
AND m.address_id IS NULL
AND ma.address_id IS NULL
AND pi.address_id IS NULL
AND s.address_id IS NULL
AND sp_in.inbound_address_id IS NULL
AND sp_out.outbound_address_id IS NULL
AND i_sender.sender_address_id IS NULL
AND i_delivery.delivery_address_id IS NULL
AND t_pickup.pickup_address_id IS NULL
AND t_delivery.delivery_address_id IS NULL;
');
}
public function down(Schema $schema): void
{
}
}