migrations/Version20221213133715.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 Version20221213133715 extends AbstractMigration
  7. {
  8.     public function getDescription(): string
  9.     {
  10.         return 'Change additionalProperties field relation to ManyToMany';
  11.     }
  12.     public function up(Schema $schema): void
  13.     {
  14.         $this->addSql('CREATE TABLE mandate_property (mandate_id INT NOT NULL, property_id INT NOT NULL, PRIMARY KEY(mandate_id, property_id))');
  15.         $this->addSql('CREATE INDEX IDX_2780F3D36C1129CD ON mandate_property (mandate_id)');
  16.         $this->addSql('CREATE INDEX IDX_2780F3D3549213EC ON mandate_property (property_id)');
  17.         $this->addSql('ALTER TABLE mandate_property ADD CONSTRAINT FK_2780F3D36C1129CD FOREIGN KEY (mandate_id) REFERENCES mandate (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  18.         $this->addSql('ALTER TABLE mandate_property ADD CONSTRAINT FK_2780F3D3549213EC FOREIGN KEY (property_id) REFERENCES property (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
  19.         $this->addSql('ALTER TABLE property DROP CONSTRAINT fk_8bf21cde6c1129cd');
  20.         $this->addSql('DROP INDEX idx_8bf21cde6c1129cd');
  21.         $this->addSql('ALTER TABLE property DROP mandate_id');
  22.     }
  23.     public function down(Schema $schema): void
  24.     {
  25.         $this->addSql('DROP TABLE mandate_property');
  26.         $this->addSql('ALTER TABLE property ADD mandate_id INT DEFAULT NULL');
  27.         $this->addSql('ALTER TABLE property ADD CONSTRAINT fk_8bf21cde6c1129cd FOREIGN KEY (mandate_id) REFERENCES mandate (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
  28.         $this->addSql('CREATE INDEX idx_8bf21cde6c1129cd ON property (mandate_id)');
  29.     }
  30. }