migrations/Version20220411144543.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.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20220411144543 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'TeamName';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->connection->executeQuery('ALTER TABLE equipe_nom ADD team_id INT NOT NULL');
  19.         $lastId 0;
  20.         while (true) {
  21.             $names $this->connection->fetchAllAssociative("SELECT idequipeNom, idequipeNom_equipeNom FROM equipe_nom WHERE idequipeNom > {$lastId} LIMIT 1000");
  22.             if (empty($names)) {
  23.                 break;
  24.             }
  25.             foreach ($names as $name) {
  26.                 $nameId $lastId $name['idequipeNom'];
  27.                 $teamServiceId $name['idequipeNom_equipeNom'];
  28.                 $team $this->connection->fetchAssociative("SELECT idequipe FROM equipe WHERE idequipeservice_equipe = {$teamServiceId}");
  29.                 if (!$team) {
  30.                     dd("TeamName {$nameId} : Team.serviceId {$teamServiceId} not found");
  31.                 }
  32.                 $teamId $team['idequipe'];
  33.                 $this->connection->executeQuery("UPDATE equipe_nom SET team_id = {$teamId} WHERE idequipeNom = {$nameId}");
  34.             }
  35.         }
  36.         $this->addSql('ALTER TABLE equipe_nom ADD CONSTRAINT FK_5FE4CDECF976DC32 FOREIGN KEY (idsaison_equipeNom) REFERENCES saison (idsaison)');
  37.         $this->addSql('ALTER TABLE equipe_nom ADD CONSTRAINT FK_5FE4CDEC296CD8AE FOREIGN KEY (team_id) REFERENCES equipe (idequipe)');
  38.         $this->addSql('CREATE INDEX IDX_5FE4CDEC296CD8AE ON equipe_nom (team_id)');
  39.     }
  40.     public function down(Schema $schema): void
  41.     {
  42.         // this down() migration is auto-generated, please modify it to your needs
  43.         $this->addSql('ALTER TABLE equipe_nom DROP FOREIGN KEY FK_5FE4CDECF976DC32');
  44.         $this->addSql('ALTER TABLE equipe_nom DROP FOREIGN KEY FK_5FE4CDEC296CD8AE');
  45.         $this->addSql('DROP INDEX IDX_5FE4CDEC296CD8AE ON equipe_nom');
  46.         $this->addSql('ALTER TABLE equipe_nom DROP team_id');
  47.     }
  48. }