migrations/Version20221212133617.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. final class Version20221212133617 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Add ManyToMany relation between Property Visit Voucher, neighborhood and city';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql('CREATE TABLE property_visit_voucher_city (property_visit_voucher_id INT NOT NULL, city_id INT NOT NULL, PRIMARY KEY(property_visit_voucher_id, city_id))');
  15.         $this->addSql('CREATE INDEX IDX_34FCD3E0392F7DE0 ON property_visit_voucher_city (property_visit_voucher_id)');
  16.         $this->addSql('CREATE INDEX IDX_34FCD3E08BAC62AF ON property_visit_voucher_city (city_id)');
  17.         $this->addSql('CREATE TABLE property_visit_voucher_neighborhood (property_visit_voucher_id INT NOT NULL, neighborhood_id INT NOT NULL, PRIMARY KEY(property_visit_voucher_id, neighborhood_id))');
  18.         $this->addSql('CREATE INDEX IDX_18FB4D5C392F7DE0 ON property_visit_voucher_neighborhood (property_visit_voucher_id)');
  19.         $this->addSql('CREATE INDEX IDX_18FB4D5C803BB24B ON property_visit_voucher_neighborhood (neighborhood_id)');
  20.         $this->addSql('ALTER TABLE property_visit_voucher_city ADD CONSTRAINT FK_34FCD3E0392F7DE0 FOREIGN KEY (property_visit_voucher_id) REFERENCES property_visit_voucher (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  21.         $this->addSql('ALTER TABLE property_visit_voucher_city ADD CONSTRAINT FK_34FCD3E08BAC62AF FOREIGN KEY (city_id) REFERENCES city (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  22.         $this->addSql('ALTER TABLE property_visit_voucher_neighborhood ADD CONSTRAINT FK_18FB4D5C392F7DE0 FOREIGN KEY (property_visit_voucher_id) REFERENCES property_visit_voucher (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  23.         $this->addSql('ALTER TABLE property_visit_voucher_neighborhood ADD CONSTRAINT FK_18FB4D5C803BB24B FOREIGN KEY (neighborhood_id) REFERENCES neighborhood (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  24.         $this->addSql('ALTER TABLE property_visit_voucher DROP CONSTRAINT fk_57634dbf8bac62af');
  25.         $this->addSql('ALTER TABLE property_visit_voucher DROP CONSTRAINT fk_57634dbf803bb24b');
  26.         $this->addSql('DROP INDEX idx_57634dbf8bac62af');
  27.         $this->addSql('DROP INDEX idx_57634dbf803bb24b');
  28.         $this->addSql('ALTER TABLE property_visit_voucher DROP city_id');
  29.         $this->addSql('ALTER TABLE property_visit_voucher DROP neighborhood_id');
  30.     }
  31.     public function down(Schema $schema): void
  32.     {
  33.         $this->addSql('DROP TABLE property_visit_voucher_city');
  34.         $this->addSql('DROP TABLE property_visit_voucher_neighborhood');
  35.         $this->addSql('ALTER TABLE property_visit_voucher ADD city_id INT DEFAULT NULL');
  36.         $this->addSql('ALTER TABLE property_visit_voucher ADD neighborhood_id INT DEFAULT NULL');
  37.         $this->addSql('ALTER TABLE property_visit_voucher ADD CONSTRAINT fk_57634dbf8bac62af FOREIGN KEY (city_id) REFERENCES city (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  38.         $this->addSql('ALTER TABLE property_visit_voucher ADD CONSTRAINT fk_57634dbf803bb24b FOREIGN KEY (neighborhood_id) REFERENCES neighborhood (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  39.         $this->addSql('CREATE INDEX idx_57634dbf8bac62af ON property_visit_voucher (city_id)');
  40.         $this->addSql('CREATE INDEX idx_57634dbf803bb24b ON property_visit_voucher (neighborhood_id)');
  41.     }
  42. }