<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20230220133203 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add relation ManyToMany to city and neighborhood fields';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE TABLE business_request_neighborhood (business_request_entity_id UUID NOT NULL,
neighborhood_id INT NOT NULL, PRIMARY KEY(business_request_entity_id, neighborhood_id))');
$this->addSql('CREATE INDEX IDX_E7649CEC22E18243 ON business_request_neighborhood
(business_request_entity_id)');
$this->addSql('CREATE INDEX IDX_E7649CEC803BB24B ON business_request_neighborhood (neighborhood_id)');
$this->addSql('COMMENT ON COLUMN business_request_neighborhood.business_request_entity_id
IS \'(DC2Type:ulid)\'');
$this->addSql('CREATE TABLE business_request_city (business_request_entity_id UUID NOT NULL,
city_id INT NOT NULL, PRIMARY KEY(business_request_entity_id, city_id))');
$this->addSql('CREATE INDEX IDX_11D4087D22E18243 ON business_request_city (business_request_entity_id)');
$this->addSql('CREATE INDEX IDX_11D4087D8BAC62AF ON business_request_city (city_id)');
$this->addSql('COMMENT ON COLUMN business_request_city.business_request_entity_id IS \'(DC2Type:ulid)\'');
$this->addSql('ALTER TABLE business_request_neighborhood ADD CONSTRAINT FK_E7649CEC22E18243
FOREIGN KEY (business_request_entity_id) REFERENCES business_request (id) ON DELETE CASCADE NOT
DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE business_request_neighborhood ADD CONSTRAINT FK_E7649CEC803BB24B
FOREIGN KEY (neighborhood_id) REFERENCES neighborhood (id) ON DELETE CASCADE NOT DEFERRABLE
INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE business_request_city ADD CONSTRAINT FK_11D4087D22E18243
FOREIGN KEY (business_request_entity_id) REFERENCES business_request (id) ON DELETE CASCADE NOT DEFERRABLE
INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE business_request_city ADD CONSTRAINT FK_11D4087D8BAC62AF FOREIGN KEY (city_id)
REFERENCES city (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
$this->addSql('ALTER TABLE business_request DROP neighborhood');
$this->addSql('ALTER TABLE business_request DROP city');
$this->addSql('ALTER TABLE business_request ALTER price DROP NOT NULL');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE business_request_neighborhood DROP CONSTRAINT FK_E7649CEC22E18243');
$this->addSql('ALTER TABLE business_request_neighborhood DROP CONSTRAINT FK_E7649CEC803BB24B');
$this->addSql('ALTER TABLE business_request_city DROP CONSTRAINT FK_11D4087D22E18243');
$this->addSql('ALTER TABLE business_request_city DROP CONSTRAINT FK_11D4087D8BAC62AF');
$this->addSql('DROP TABLE business_request_neighborhood');
$this->addSql('DROP TABLE business_request_city');
$this->addSql('ALTER TABLE business_request ADD neighborhood VARCHAR(255) DEFAULT NULL');
$this->addSql('ALTER TABLE business_request ADD city INT NOT NULL');
$this->addSql('ALTER TABLE business_request ALTER price SET NOT NULL');
}
}