migrations/Version20260823120000.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. /**
  7.  * dict_road_occupation_purpose.service_id staje sie prawdziwa relacja do service,
  8.  * dzieki czemu GET /services zwraca przypisane cele zajetosci pasa drogowego.
  9.  */
  10. final class Version20260823120000 extends AbstractMigration
  11. {
  12.     public function getDescription(): string
  13.     {
  14.         return 'Add FK between dict_road_occupation_purpose.service_id and service.id';
  15.     }
  16.     public function up(Schema $schema): void
  17.     {
  18.         // Osierocone wskazania (usunieta e-usluga) czyscimy, zeby FK dalo sie zalozyc.
  19.         $this->addSql('UPDATE dict_road_occupation_purpose SET service_id = NULL WHERE service_id IS NOT NULL AND service_id NOT IN (SELECT id FROM service)');
  20.         $this->addSql('ALTER TABLE dict_road_occupation_purpose ADD CONSTRAINT FK_DD914B8ED5CA9E6 FOREIGN KEY (service_id) REFERENCES service (id) ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE');
  21.         $this->addSql('CREATE INDEX IDX_DD914B8ED5CA9E6 ON dict_road_occupation_purpose (service_id)');
  22.     }
  23.     public function down(Schema $schema): void
  24.     {
  25.         $this->addSql('ALTER TABLE dict_road_occupation_purpose DROP CONSTRAINT FK_DD914B8ED5CA9E6');
  26.         $this->addSql('DROP INDEX IDX_DD914B8ED5CA9E6');
  27.     }
  28. }